MongoDB重用\u id
假设我有一个用于MongoDB重用\u id,mongodb,Mongodb,假设我有一个用于用户的简单模式,它会自动生成\u id: { _id: ObjectId("9dfhdf9fdhd90dfdhdaf"), name: "Joe Shmoe" } 然后我有了一个组的模式,在那里我可以将用户添加到成员数组中 { name: "Joe's Group", members: [{ _id: ObjectId("58fdaffdhfd9fdsahfdsfa"),
用户的简单模式,它会自动生成\u id
:
{
_id: ObjectId("9dfhdf9fdhd90dfdhdaf"),
name: "Joe Shmoe"
}
然后我有了一个组
的模式,在那里我可以将用户
添加到成员数组中
{
name: "Joe's Group",
members: [{
_id: ObjectId("58fdaffdhfd9fdsahfdsfa"),
name: "Joe Shmoe"
}]
}
数组中的对象将获得新的自动生成id,但我希望保持该\u id
字段的一致性并重用它,以便组中的成员具有与用户
集合中的成员相同的属性
我显而易见的解决方案是在成员的User
对象中创建一个独立的id
字段,该字段在Users
集合中引用其\u id
,但对于每个成员来说,有两个单独的id字段似乎很混乱
我的问题是,我尝试的是坏习惯吗?将现有对象从另一个集合添加到集合中的正确方法是什么?我认为您指的是:数据建模中的手动或DB引用
original_id = ObjectId()
db.places.insert({
"_id": original_id,
"name": "Broadway Center",
"url": "bc.example.net"
})
db.people.insert({
"name": "Erin",
"places_id": original_id,
"url": "bc.example.net/Erin"
})
查看文档谢谢,但实际上,不到五分钟前,我才终于知道如何使用填充猫鼬,这正是我所需要的。我打算早上第一件事就是回答我自己的问题。