【问题标题】:MongoDB add a field to a embedded document in an arrayMongoDB 将字段添加到数组中的嵌入文档
【发布时间】:2016-10-16 20:50:45
【问题描述】:

您好,我是 MongoDB 的新手,我一直在寻找一种将字段添加到数组中的嵌入式文档的方法

//集合

> db.test.find().pretty();
{
    "_id" : ObjectId("5761765a31356152793c8790"),
    "name" : "bb",
    "email" : "bb@mail",
    "projects" : [
        {
            "project_id" : ObjectId("576179bf31356152793c879c")
             //How can i add a name here
        }
    ]
}
> 

【问题讨论】:

  • 您想为两个 project_id 添加相同的名称?或每个的具体名称?
  • 一个不同的名字我只是想能够访问projects.project_id
  • 你不能只做$set: {"projects.0.name": "foo"}吗?
  • @slugonamission 我试过这个db.test.update({name:'bb'},{$set :{projects.0.name:'foo'}}) 它给了我这个错误 SyntaxError: Unexpected number

标签: javascript arrays mongodb


【解决方案1】:

想通了:) db.test.update({projects:{$elemMatch:{"project_id" : ObjectId("576179bf31356152793c879c")}}},{$set :{'projects.$.name':'foo'}},true); 希望它可以帮助某人 谢谢!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-12
    • 1970-01-01
    • 2021-10-24
    • 1970-01-01
    • 2016-11-06
    • 2022-01-15
    • 2019-11-12
    • 1970-01-01
    相关资源
    最近更新 更多