Mongodb 如何设置以下Mongo文档结构?

Mongodb 如何设置以下Mongo文档结构?,mongodb,Mongodb,我正在尝试使用上的示例建立一个评论系统 但是,我对讨论id感到困惑。如何在PHP中设置它?这是数据类型吗 { _id: ObjectId(...), discussion_id: ObjectId(...), slug: '34db', posted: ISODateTime(...), author: { id: ObjectId(...), name: 'Rick' },

我正在尝试使用上的示例建立一个评论系统

但是,我对讨论id感到困惑。如何在PHP中设置它?这是数据类型吗

{
    _id: ObjectId(...),
    discussion_id: ObjectId(...),
    slug: '34db',
    posted: ISODateTime(...),
    author: {
              id: ObjectId(...),
              name: 'Rick'
             },
    text: 'This is so bogus ... '
}

讨论id的类型为。在本例中,它包含父讨论文档的_id


创建讨论文档时,mongodb将为其分配一个_id。您可以在为每个注释创建文档时使用此值。

是的,ObjectID是BSON数据类型。在此处了解更多信息:


您需要了解更多关于您正在使用哪些语言和技术来真正告诉您“如何设置”的信息。

为了获得更多答案,MongoDB不会为您设置
讨论id
。它根本没有关系行为,因此它无法预测你在某些对象之间的内部关系

您需要使用讨论行的
\u id
从PHP为自己分配
讨论id
,如下所示:

$dis = $db->discussion->findOne(array('name' => 'my awesome new one'));
$db->comments->insert(array('discussion_id' => $dis['_id'], 'text' => 'trololol'));
因此,您需要记住,MongoDB不能判断任何关系,也不会判断任何关系。但是,在如上所示创建文档后,不必设置此讨论id,因为可以随时调用
MongoId
对象,并且您可以在插入MongoDB时覆盖
\u id
。如果要先形成对象,检查其完整性,然后保存它们,这一点特别有用