2014-09-10 28 views
1

我收到以下錯誤:findAndModify錯誤MongoDB中 - 的NodeJS - 錯誤代碼17287

MongoError: exception: nextSafe(): { $err: "Can't canonicalize query: B adValue bad sort specification", code: 17287 }

functions.getNextIndex = function(callback){ 

    db.collection('counters').findAndModify(
      {_id:'productId'}, 
      {$inc: {sequence_value:1}}, 

      function(err,data){ 
       if(!err) 
        callback(data); 
       else 
        callback(err); 
    }); 

} 

回答

4

看來你缺少查詢中的 「排序」 的說法。

試着這麼做:

db.collection('counters').findAndModify(
    {_id:'productId'}, 
    {_id:'descending'}, 
    {$inc: {sequence_value:1}}, 

    function(err,data){ 
     if(!err) 
      callback(data); 
     else 
      callback(err); 
}); 

查看更多在這裏: http://docs.mongodb.org/manual/reference/method/db.collection.findAndModify/

+0

謝謝,它工作得很好 – 2014-09-11 20:53:00

+0

作品對我來說太,但只有當我指定的一些原因,而不是_id其他的領域之一? – Aodh 2015-06-27 15:52:49