好吧,使用Python和MongoDB,我尝试在数组中嵌入一个子文档,并在数组中使用自定义键值。我一直在尝试各种不同的方法来实现这一点,但我不知道我做错了什么,所以我暂时决定使用下面的工作代码。多次尝试都会导致错误:
in _check_write_command_response raise OperationFailure(error.get("errmsg"), error.get("code"), error) pymongo.errors.OperationFailure: The dotted field 'first.rule' in 'followedBy..first.rule' is not valid for storage.
代码:
citizens.update(
{"_id" : userPush},
{"$push": {"followedBy":[field[1], field[2], field[3], field[0]]}})
产生:
^{pr2}$这就是我想要的:
"_id" : ObjectId("5…asfd"),
"uName" : "tim0",
"fName" : "tim",
"lName" : "lost",
"pic" : null,
"bio" : "I <3 MongoDB",
"followedBy" : [
"BobTheBomb": {
"fName" : "bobby",
"lName" : "knight",
"uID" : NumberInt(2)
},
"Robert": {
"fName" : " DROP ",
"lName" : " TABLE ",
"uID" : NumberInt(6)
}
]
您将需要构建该数据结构,目前您说
"followedBy"
只是一个列表。在所以试试看:
删除列表并用dict替换它
我真的希望这能有所帮助。在
我意识到我没有给你有效的
^{pr2}$json
,我已经测试过了:它成功了。。。在
您可能会发现错误是由您使用的修饰符引起的,我在blog上发现了以下内容:
您可能会发现,因为您正在插入许多项,而您更希望使用},而不是{}。。。只是猜测。。。在
$pushAll
或{相关问题 更多 >
编程相关推荐