我有这样的Collection :
mc.db.collection.insert_many([
{"key_array": [1], "another_array": ["a"]},
{"key_array": [2, 3], "another_array": ["b"]},
{"key_array": [4], "another_array": ["c", "d"]},
])
我正在使用这种更新:
mc.db.collection.update_one(
{"key_array": 5},
{"$addToSet": {"another_array": "f"}},
upsert=True
)
它与更新配合得很好,但我在try 升级时遇到了问题:
{
"_id": ObjectId(...)
"key_array": 5,
"another_array": ["f"]
}
而我想要这个
{
"_id": ObjectId(...)
"key_array": [5],
"another_array": ["f"]
}
此外,我不能使用{"key_array": [5]}
样式的查询,因为它不会匹配长度为>;1.
那么,是否有机会在更新时保存这种行为,并在插入时收到正确的文档 struct ?
任何帮助都将不胜感激