Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.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 select with condition为selected结果必须在子选择查询中_Mongodb - Fatal编程技术网

Mongodb select with condition为selected结果必须在子选择查询中

Mongodb select with condition为selected结果必须在子选择查询中,mongodb,Mongodb,如何在MongoDB中进行嵌套选择,类似于 SELECT id FROM table1 WHERE id IN (SELECT id FROM table2) 此页面包含SQL和MongoDB之间的比较器: 例如,您可以选择使用聚合管道,其中与: db.your_collection.aggregate({$match: {"id": {$in: ['id_0', 'id_1']} }}) db.your_collection.aggregate({field: "value"}) 一个简

如何在MongoDB中进行嵌套选择,类似于

SELECT id FROM table1 WHERE id IN (SELECT id FROM table2)

此页面包含SQL和MongoDB之间的比较器:

例如,您可以选择使用聚合管道,其中与:

db.your_collection.aggregate({$match: {"id": {$in: ['id_0', 'id_1']} }})
db.your_collection.aggregate({field: "value"})
一个简单的查询,如下所示:

db.your_collection.aggregate({$match: {"id": {$in: ['id_0', 'id_1']} }})
db.your_collection.aggregate({field: "value"})

Mongodb官方页面有很多信息

Mongodb还不具备进行子查询的能力,这将允许此功能

我确信这是JIRA中的一些东西,但是,我无法立即找到它

目前唯一的方法是实际选择表,迭代光标,拉出信息,并将其作为$in查询的一部分,如@Bruno所示,如下所示:

ids=[];
for(i in db.c2.find({},{_id:1}){ // I have assumed id=_id
    ids[ids.length]=i; // The default return of the index pos is actually _id
}
return db.c1.find({$in:ids});

作为一个简单的例子,我写下了我的头顶。

为什么要对此使用聚合?{$match:{id:{$in:['id_0','id_1']}}}}与表2中的in SELECT id不同