Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MongoDB重用\u id_Mongodb - Fatal编程技术网

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"
})

查看文档

谢谢,但实际上,不到五分钟前,我才终于知道如何使用填充猫鼬,这正是我所需要的。我打算早上第一件事就是回答我自己的问题。