4

私はこのコードを手に入れました

 {
    "_id": "_design/test",
    "_rev": "10-651aa6314effdad0bca00fc4a3da38f6",
    "views": {
       "foo": {
           "map": "(function(doc){ emit(doc._id, doc._rev)})"
       },
       "bar": {
           "map": "(function(doc){if(doc.date && doc.title) {emit(doc.date, doc.title);})"
       }
      }
    }

なぜそれが返されるのですか:

式は関数に対して評価されません。((new String( "(function(doc){if(doc.date && doc.title){emit(doc.date、doc.title);})")))

4

1 に答える 1

1

この質問は古く、回答は実際には質問のコメントに含まれていることは知っていますが、回答が投稿されているはずです。

関数の最後の中括弧がありません。インデントすると、次のようになります。

function(doc) {
  if (doc.date && doc.title) {
    emit(doc.date, doc.title);
  }
}

1行バージョンの最後にある2つの中括弧に注意してください。

function(doc){if(doc.date && doc.title){emit(doc.date, doc.title);}}

私はインデントを好み、スペースを使用するので、それらを見逃すことはありません。

于 2015-04-24T21:52:55.753 に答える