gpt4 book ai didi

python - 使用 pymongo $addToSet 嵌套嵌套对象

转载 作者:太空宇宙 更新时间:2023-11-03 19:12:03 24 4
gpt4 key购买 nike

作为使用 pymongo 的 python for-in 循环的一部分,我想在 linktype 字段内添加一些嵌套文档/对象,该字段位于 links 字段内:在添加第一个此类条目之前,links 字段或 linktype 字段都不存在。

执行此操作的命令是什么?

这是添加链接之前的一个项目:

item = {
"_id" : ObjectId("5067c26b9d595266e25e825a"),
"name": "a Name"
}

添加一个 typeA 类型的链接后:

toType = "typeA"
to_link = {"_id" : ObjectId("5067c26b9d595266e25e825b"), "property":"value"}

{
"_id" : ObjectId("5067c26b9d595266e25e825a"),
"name": "a Name",
"links" : {
"typeA":{
{"_id" : ObjectId("5067c26b9d595266e25e825b"), "property":"value"}
}
}
}

我已经尝试过:

db.collection.update({"name":"a Name"},{{"links":{"$addToSet":{toType:to_link}}})

这不起作用。如果我只是使用:

db.collection.update({"name":"a Name"},{ {"$addToSet":{toType:to_link}} )

这可行,但这不是我想要的。

最佳答案

$addToSet 用于添加到数组。要将新属性添加到现有嵌入对象,您需要使用 $set运算符和dot notation如:

db.collection.update({name: 'a name'}, {$set: {'links.' + toType: to_link}})

关于python - 使用 pymongo $addToSet 嵌套嵌套对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12658744/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com