我有一个对象,该对象的父类可能会或可能不会设置_id字段。
在这种情况下,未设置_id字段,我将一个对象传递给
collection.insertOne(对象)
通常mongo会为未指定的_id生成一个ObjectId(),但是由于某种原因,每当_id由父类指定且未设置时,它就会生成一个ID,错误是将ID保存为字符串在数据库中而不是在ObjectId中。
我正在经历的事情
{ “ name”:“ name” }
预期:
{ “ _id”:ObjectId(“ 5cb89a7cf5e722a3d493ce8b”), “ name”:“ name” }
实际:
{ “ _id”:“ 5cb89a7cf5e722a3d493ce8b”, “ name”:“ name” }
我认为正在发生的事情是,它看到父类有一个_id字段,但找不到它,从而导致类似这样的事情通过。
{ “ _id”:null, “ name”:“ name” }
,结果mongo不会生成ObjectId而是字符串。
这是一个错误吗?
谢谢!
答案 0 :(得分:0)
我认为这是mongoDB的正常行为。我只将mongo与javascript一起使用,这就是它始终显示的行为。我想知道这对您的用例是否有实际影响,因为id仍然是唯一的