Thanks for your reply CGS.

I have use single quota in the first place causing the same issue.

Any more thoughts?

Stephan


On 12-01-26 08:08 PM, CGS wrote:
Use single quota ( ' ) instead of escape character and double quota.(\").
For some reasons I don't know, the JSON parser is no capable of
interpreting \" as it should.

CGS




On Fri, Jan 27, 2012 at 3:48 AM, Stephan Bardubitzki<
[email protected]>  wrote:

I'm quite new to CouchDB and have to struggle with the following issue
using Futon:

In 'temporary view' this code does what I want to get out:

function(doc) {
  var today = new Date();
  var month = today.getMonth();
  var room, chatrooms = [];
  for ( room in doc.room ) {
      if ( doc.room[room].duration === 'seasonal' ||
doc.room[room].duration === 'ones' ) {
          if ( doc.room[room].start<  doc.room[room].end ) {
          if( doc.room[room].start<= month&&  doc.room[room].end>= month
) {
                  chatrooms.push(doc.room[room])**;
              }
          }
          else {
          if( doc.room[room].start>= month&&  doc.room[room].end>= month
) {
                  chatrooms.push(doc.room[room])**;
              }
          }
      }
      else {
          chatrooms.push(doc.room[room])**;
      }

  }
  emit(doc._id, chatrooms);
}

However, if I add this to the _design doc Futon will not save the document.
FF says: JSON.parse: bad control character in string literal.

My _design doc looks like this:

{
   "_id": "_design/chat-categories",
   "_rev": "9-**d5bca128d1fb98545691d78fa6aff9**bb",
   "views": {
       "categories": {
           "map": "function(doc) {
              var today = new Date();
             var month = today.getMonth();
              var room, chatrooms = [];
              for ( room in doc.room ) {
                      if ( doc.room[room].duration === \"seasonal\" ||
doc.room[room].duration === \"ones\" ) {
                          if ( doc.room[room].start<  doc.room[room].end ) {
                              if( doc.room[room].start<= month&&
doc.room[room].end>= month ) {
                                      chatrooms.push(doc.room[room])**;
                                  }
                          }
                          else {
                              if( doc.room[room].start>= month&&
doc.room[room].end>= month ) {
                                      chatrooms.push(doc.room[room])**;
                                  }
                          }
                      }
                      else {
                          chatrooms.push(doc.room[room])**;
                      }
                   }
              emit(doc._id, chatrooms);
        }"
        }
    }
}

What do I miss?

Thanks.


--------------------------------
Spam/Virus scanning by CanIt Pro

For more information see
http://www.kgbinternet.com/SpamFilter.htm

To control your spam filter, log in at
http://filter.kgbinternet.com

Reply via email to