MongoDB获取项目没有孩子

时间:2017-07-10 08:31:22

标签: mongodb python-2.7 mongodb-query pymongo adjacency-list

有一个带有父引用(也称为邻接列表)的树结构。 MongoDB集合数据示例如下:

/* 1 */
{
    "id" : 1,
    "name": "Digital Cameras",
    "url" : "digital-cameras",
}

/* 2 */
{
    "id" : 2,
    "name": "Nikon",
    "url" : "nikon",
    "parent_url": "digital-cameras"
}

/* 3 */
{
    "id" : 3,
    "name": "Canon",
    "url" : "canon",
    "parent_url": "digital-cameras"
}

/* 4 */
{
    "id" : 4,
    "name": "Film cameras",
    "url" : "film-cameras"
}

所以树结构如下:

Digital Cameras
|__Nikon
|__Canon

Film Cameras

如何找到没有孩子的物品(又名树叶术语)? 在我的示例中,结果应指向NikonCanonFilm Cameras组。

我有查询子项目的查询:

self.db.groups.find({'parent_url': {'$exists': True}})

因此,对于我需要的每个记录A,没有记录B,其中B.parent_url = A.url。

我的堆栈是python 2.7,mongodb 2.6.5,pymongo 3.4。

0 个答案:

没有答案
相关问题