在我的Node / MongoDB后端中,我有一个引用付款人集合的模型,如下所示:
clients: [{ id: { type: mongoose.Schema.Types.ObjectId, ref: 'clients' } }],
这是有效的,因为插入了对正确“客户端”的引用的id。然而,也发生了什么是mongo自动插入mongo ID。因此,在相关文档中,我最终得到了这个:
clients: [{
id: 6b8702ad021ba27d4a3b26h9, // my correct ref object ID
_id: 4n8702bv036ba12g6a3b28f4 // an additional object ID auto inserted by mongo
}]
如何防止在这种情况下自动插入mongo ID?而且,相关地说,如果我在原始参考中使用_
,就像这样:
clients: [{ _id: { type: mongoose.Schema.Types.ObjectId, ref: 'clients' } }],
...这是否会阻止这种情况发生,因为“_id”已经存在值?换句话说,Mongo会不会自动插入另一个ID吗?如果是这样,那就是我将采取的路线。
答案 0 :(得分:2)
是的,覆盖_id会起作用。请注意,_id是您数据库的主键,因此它必须是唯一的,否则Mongo会抛出错误。