繁体   English   中英

如何过滤嵌套的 object 属性以更新 Express 和 MongoDB 中的文档?

[英]How to filter nested object property to update a document in Express and MongoDB?

我想过滤 email 以更改 JSON 文件。 我无法过滤 object 的嵌套属性。 怎么做。

app.put("/users/:email", async (req, res) => {
          const email = req.params.email;
          //console.log(email);
          **const filter = { email: email };**
          const result = await userCollection.updateOne(filter, {
            $set: { value: "00" },
          });
          res.json(result);
        });

来自 MongoDB 的 JSON 文档:

[
  { "firstName" : "John",  
    "lastName"  : "Doe",
    "age"       : 23,
    "info"      : {"userID": 3434, "email": "test@test.com", "value": 35}
   },

  { "firstName" : "Mary",  
    "lastName"  : "Smith",
     "age"      : 32,
    "info"      : {"userID": 343, "email": "test2@test.com", "value": 65} }
]    
         

如何从 JSON 文件中过滤 email? 所以我可以通过过滤 email 来更新值。

您必须创建一个带有嵌套字段的过滤器,如下所示:

const filter = { "info.email": email };

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM