在不知道mongoDB / mongoose中的路径的情况下更新子文档

时间:2015-03-18 08:26:22

标签: node.js mongodb mongoose

假设我在persons集合中有以下文档:

{
    "_id" : ObjectId("54e42f8c1de15b081125318c"),
    "name" : "Mike",
    "family" : {
        "mother" : "Alice",
        "father" : "Bob",
        "brothers" : [
            {
                "_id" : ObjectId("54e42f8c1de15b081125318d"),
                "name" : "David"
            }, {
                "_id" : ObjectId("54e42f8c1de15b081125318e"),
                "name" : "Jason"
            }
        ],
        "sisters" : [
            { // target subdocument
                "_id" : ObjectId("54e42f8c1de15b081125318f"),
                "name" : "Tifany"
            }, {
                "_id" : ObjectId("54e42f8c1de15b0811253190"),
                "name" : "Samantha"
            }
        ]
    }
}

如何使用{"name" : "Tiffany"}

更新目标子文档

条件{"_id" : ObjectId("54e42f8c1de15b081125318f")}

不知道路径(即"family.sisters"

=============================================== ===============

如果我知道路径,我可以做这样的事情:

db.persons.update({"family.sisters._id" : ObjectId("54e42f8c1de15b081125318f")}, {"family.sisters.$.name" : "Tiffany"})

=============================================== ===============

抱歉,重复问题中的答案可能不是我想要的

0 个答案:

没有答案