我了解您无法在现有mongodb文档上更新_id的事实。但是有没有理由我们不能在“setOnInsert”部分的upsert中使用它?因为它是“插入时”,所以它不是更新。我的预期用法是这样的:db.myCol.update({_id:12345},{$setOnInsert:{_id:12345},$set:{myValue:'hi'}});这是一个错误还是我错过了什么? 最佳答案 MongoDB将upsert查询的“查询”部分用作集合的一部分,这意味着您不必在要指定自己的_id的集合部分中指定_id。注意:我上面的查询也有一个小错