我显然不明白如何在现有文档中更新/插入子文档。我尝试了以下方法:
query = aCollection.find_one({stuffToFind})
aCollection.update(query,
{"$set": {"subDoc" : {"1" : String, "2" : datetime.datetime.now(), "3" : otherString}}})
这只能工作一次,但如果执行此代码,我想不断更改 subDoc 的数据 1,2 和 3。find_and_modify 也失败了,因为它似乎覆盖了整个文档,删除了除 id 和更新中指定的所有其他字段之外的所有其他字段。由于我对 MongoDB 很陌生,如果有人能给我一个代码示例来解决我的问题,那就太好了。
编辑:没有“$set”语句,它在第二次执行时也保持不变..
Edit2:这似乎有效,尽管我无法再直接在 MonjaDB 中编辑受影响的(JSON)文档:D
aCollection.update(query(but this time not as a variable),
{"$set" : {"subDoc.1" : Sting, "subDoc.2" : datetime.datetime.now(), "subDoc.3" : otherString}})
我不知道,为什么这是有效的,所以也许有人可以解释我做错了什么..
提前致谢,
码海