我想更新我的_id字段中的一个文档(如下所示)。更新MongoDB中的_id字段
{
_id : ObjectId("586d9d5d23352af1a4aa05f7"),
name: "Soham",
age : 99,
city : "XYZ"
}
于是我跑到下面的步骤:
var doc = db.names.find({name:"Soham"});
doc._id = 111 ; -- 111 is not present in that collection for any document
db.names.remove({_id:ObjectId("586d9d5d23352af1a4aa05f7")});
db.names.insert(doc);
第3行还没有扔任何错误,但现在我跑了插入命令,它扔错误。任何人都可以让我知道发生了什么问题。
在此先感谢!
您应该先阅读文档。 '_id'字段是**主键** MongoDB中的SQL等价物,它的格式是[ObjectId](https://docs.mongodb.com/manual/reference/method/ObjectId/)。它有一个明确的结构。所以,你**不能**为文档设置一个任意值作为id。其次,你应该**从不**这样做。你的目的是什么? –
@guzgarcia MongoDB中的'_id'不一定是'ObjectId',它可以是任何你想要的东西,包括一个复杂的对象。 – GaspardP
@Soham:请包括引发的错误 – GaspardP