本文介绍了如何在 mongo 中使用 findAndModify() 函数的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

收集这些数据

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() 函数:

i m using findAndModify() function with following parameters:

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

我又遇到这个错误了

findAndModifyFailed 失败: { "ok" : 0, "errmsg" : "need remove or更新"} 在 src/mongo/shell/collection.js:399

findAndModifyFailed failed: { "ok" : 0, "errmsg" : "need remove or update" } at src/mongo/shell/collection.js:399

谁能告诉我我哪里出错了,谢谢

can anybody tell me where i m making the mistake,thanks

推荐答案

好吧,您可以使用 findAndModify 原子地updateremove 文档>

Well, you can either update or remove a document atomically with findAndModify

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

这篇关于如何在 mongo 中使用 findAndModify() 函数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

06-21 00:01