MongoDB查询与alias相同的表

MongoDB查询与alias相同的表,mongodb,Mongodb,我有一套“细节” 我想在MongoDB中编写一个与SQL相似的查询,如下所示: SELECT node.user_id FROM details AS node, details AS parent WHERE node.left BETWEEN parent.left AND parent.right AND parent.user_id = "50e876e49d5d0cbc08000000" ORDER BY node.left; 您可以先查询父项,然后使用

我有一套“细节”

我想在MongoDB中编写一个与SQL相似的查询,如下所示:

SELECT node.user_id
FROM details AS node,
        details AS parent
WHERE node.left BETWEEN parent.left AND parent.right
       AND parent.user_id = "50e876e49d5d0cbc08000000"
ORDER BY node.left;

您可以先查询父项,然后使用它查询所有其他内容:

parent = db.details.findOne({user_id: ObjectId("50e876e49d5d0cbc08000000")});
query = {left: {$gt: parent.left, $lt: parent.right}};
select = {user_id: 1};
db.details.find(query,select).sort({left: 1})

如果要查询“大于或等于”和“小于或等于”而不是“大于或等于”和“小于或等于”,请将
$gt
$lt
替换为
$gte
$lte

您尝试了什么?从开始,为什么不能先查询父项,然后用它来查询其他所有内容?尝试查找和聚合…不起作用。。。我还需要这个从PHP框架运行@莱昂尼德,你能给我一些提示吗。。。“详细信息”是节点和父节点的相同集合。
parent = db.details.findOne({user_id: ObjectId("50e876e49d5d0cbc08000000")});
query = {left: {$gt: parent.left, $lt: parent.right}};
select = {user_id: 1};
db.details.find(query,select).sort({left: 1})