关于MongoDb类别层次结构使用cas的几个问题

2024-06-25 22:53:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我是一个PHP开发人员,正在尝试处理http://docs.mongodb.org/ecosystem/use-cases/category-hierarchy/,但我对Python了解不多。在

我的第一个问题:

for cat in db.categories.find(
{'ancestors._id': bop_id},
{'parent_id': 1}):
build_ancestors_full(cat['_id'], cat['parent_id'])

“家长证”是从哪里来的?它不应该只是“父母”吗?在

我的第二个问题:

^{pr2}$

如果您能对这个helper函数进行psuedo解释(或PHP的等价物),我将不胜感激, 主要有以下几行:

^{3}$

谢谢你!在

更新答案:

示例代码中有两个错误:

第一个是“parent_id”=>;应该是“parent”

第二个是

{'parent':1,'name':1,'slug':1,'祖先':1})

=>;祖先字段应为\u id


Tags: orggtidhttpdocs开发人员usemongodb
1条回答
网友
1楼 · 发布于 2024-06-25 22:53:49

{'parent_id':1}在find查询中表示您只想返回密钥parent_id,可以像{'parent_id':true}一样考虑它(可以像这样使用){'parent_id':true}在mongoshell中尝试一下。此参数称为投影,也可以抑制关键点。但在这个例子中,它是说,只把找到的文档中的“parent_id”键返回给我。但是,如果不显式取消显示\u id列,则将返回该列。在

问题的第二部分:这段代码分配从find查询返回的值,在本例中,它将是一个文档,其中_id等于传递给函数-build_祖先_full的父级_id。此文档将显示父键、名称键、荡妇和祖先键。父级.pop('parent')将从保存我刚才描述的文档的父变量的“parent”键中弹出一个值。祖先是一个数组,祖先.append(parent)将把上面描述的文档追加到祖先数组。在

PHP等价物:

// get all documents that contain ancestors._id = $bop_id, only return the 'parent_id' field
$result = $db->categories->find(array('ancestors._id' => $bop_id), array('parent_id' => 1));

foreach ($result as $document) {
    build_ancestors_full($document['_id'], $document['parent_id']);
}

从你的第一个问题来看,我同意使用家长身份证是一种打字错误。

第2部分PHP:

^{pr2}$

相关问题 更多 >