MongoDB将_id保存为字符串(java)

时间:2019-04-18 16:10:27

标签: java mongodb

我有一个对象,该对象的父类可能会或可能不会设置_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而是字符串。

这是一个错误吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

我认为这是mongoDB的正常行为。我只将mongo与javascript一起使用,这就是它始终显示的行为。我想知道这对您的用例是否有实际影响,因为id仍然是唯一的