如何将数组插入 mongodb 中的嵌入文档

how to insert array into embeded document in mongodb

我有这样一个文档:

b = { "_id":"10001", "comments":[{"comid":"3","comtime":"2014","author":"jenny"}]}

我想插入另一个像:

c = {"comid":"34","comtime":"2015","author":"jack"}

进入值为“3”的comid。 我想要的结果是:

{
        "_id" : "10001",
        "comments" : [
                {
                        "comid" : "3",
                        "comtime" : "2014",
                        "author" : "jenny",
                        "replycomment" : [
                                {
                                        "comid" : "34",
                                        "comtime" : "2015",
                                        "author" : "jack"
                                }
                        ]
                }
        ]
}

确切地说,我想在数组中添加另一个嵌入式文档以供回复评论。

有什么想法吗?

您需要使用 update_one method and the $push 更新运算符。

replycomment = {"comid": "34", "comtime": "2015", "author": "jack"}
collection.update_one(
    {"comments.comid": "3"}, 
    {"$push": {"comments.$.replycomment": replycomment}}
)