如何在mongo中使用findAndModify()函数

时间:2013-12-21 12:03:59

标签: mongodb

将此数据收集在

var documents = [{
      _id : 1
    , title: "Buy milk"
    , priority: 5
    , started: false
    , done: false
    , startTime: null
    , endTime: null
    }, {
      _id : 2
    , title: "Become a Billionaire"
    , priority: 1
    , started: false
    , done: false
    , startTime: null
    , endTime: null
    }, {
      _id : 3
    , title: "Play DOOM"
    , priority: 1000
    , started: false
    , done: false
    , startTime: null
    , endTime: null
    }
  ]

我使用带有以下参数的findAndModify()函数:

db.test.findAndModify({started:false},{priority:-1},{$set:{started:true}},{new:true})

我再次遇到此错误


findAndModifyFailed失败:{“ok”:0,“errmsg”:“需要删除或  在src / mongo / shell / collection.js更新“}:399


任何人都可以告诉我在哪里弄错了, 感谢

2 个答案:

答案 0 :(得分:4)

好吧,你可以updateremove原文提供findAndModify

db.test.findAndModify({
    query:{started:false, priority:1},
    update:{$set : {started:true}},
    new:true
})

答案 1 :(得分:0)

findAndModify用于单个文档。 multi设置为true时,update可用于多个文档。