Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何在MongoDB中增加嵌套值_Node.js_Mongodb - Fatal编程技术网

Node.js 如何在MongoDB中增加嵌套值

Node.js 如何在MongoDB中增加嵌套值,node.js,mongodb,Node.js,Mongodb,我试图在mongoDB文档中增加一个值 下面是文档结构 在本例中,我希望使用匹配的用户名和相应的cardid1001在对象上增加knowCnt 这是到目前为止我的代码。它返回success,但该值在数据库中不会增加 var knowIncr = function(cnt) { db.collection("testusers").updateOne( //collection.update depreciated!!! { $and: [

我试图在mongoDB文档中增加一个值

下面是文档结构

在本例中,我希望使用匹配的用户名和相应的cardid1001在对象上增加knowCnt

这是到目前为止我的代码。它返回success,但该值在数据库中不会增加

var knowIncr = function(cnt) {
        db.collection("testusers").updateOne( //collection.update depreciated!!!
          { $and: [
          { username: "user1" },
          { cardId: 1001 },  
          ]},
          { $inc: { knowCnt: 1 } }, //increment by 1 
          { new: true },
          (err, data) => {
            if (err) {
              console.log(err);
            }
            console.log("knowIncr success", data);
          }
        );
      };
      knowIncr();
我也尝试过.updateOne{username:user1,carid:1001}。。。无济于事


谢谢

在访问其中一个对象之前,您必须指定数组名称,下面是一个示例:

db.testUsers.updateOne({
    "username": "user1",
    "progress.cardId": 1001
}, {
    $inc: {
        "progress.$.knowCnt": 1
    }
});

以下是有关更新阵列和使用$sign:

的更多信息:您遇到了什么错误?我没有收到任何错误。成功消息返回,但数据库不更新。您得到的数据值是多少?