https://docs.mongodb.com/manual/reference/method/db.collection.update/#mongodb30-upsert-id
根据这个文件,upsert没有通过,因为
"此限制可确保_id文档中嵌入的字段顺序定义明确,并且不受查询中指定的顺序的约束"
但如果我如下所示轻松修改查询,则会成功插入。
为什么允许这样做?
db.collection.update(
{"_id.name": "Robert Frost", "_id.uid": 0},
{"$set": {"categories": ["poet", "playwright"]}},
{upsert: true}
)