Mongodb 使用节点红色更新MonogoDB中的记录

Mongodb 使用节点红色更新MonogoDB中的记录,mongodb,node-red,Mongodb,Node Red,我是Node Red和MongoDB的新手 我需要使用节点Red更新集合中的文档 下面是我在功能节点中的代码: var newMsg = msg; newMsg.operation = 'findAndModify'; newMsg.payload = { query: { "UserKey": "mykey" }, update: { $set: {"Locked": false } }

我是Node Red和MongoDB的新手

我需要使用节点Red更新集合中的文档

下面是我在功能节点中的代码:

var newMsg = msg;
newMsg.operation  = 'findAndModify';
newMsg.payload    = {
                      query: { "UserKey": "mykey" }, 
                      update: { $set: {"Locked": false } }
                    };
return newMsg;
但是得到了下面的错误

“Monog错误:需要删除或更新”

编辑:

尽管下面的代码在MongoShell中运行良好

db.Users.findAndModify({
                        query: { "UserKey": "mykey" },
                        update: { $set: { "Locked": false } }
                       })    

感谢

查找和修改
不是mongo节点支持的方法之一,您必须将其作为两个阶段的过程来完成


使用Mongo-In节点执行
查找
,然后更新有效负载并将其馈送到Mongo-Out节点执行
存储
@phani-indra,例如,如果您有一组具有以下文档的用户:

{ "chatid" : 324323,
  "alert" : false, 
  "accesslevel" : 4, 
  "_id" : ObjectId("5d76b33c6ff21e0155d035a0") 
}
您希望将键“alert”更改为true,因此节点中的功能节点将类似于:

var newMsg = { 
  'collection': 'users', 
  'operation': 'update',
  'query': {
    chatid : 324323
  },
  'payload': { 
      $set: {
          alert : false
      }
   } 
}; 
return newMsg;

然后将功能节点馈送到一个mongoout节点。

我使用的是mongodb2节点。但是现在它已经成功了。。多谢各位much@hardilib-不明白这一点,你能举例说明吗