3

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

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

2 回答 2

3

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});

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

于 2013-09-17T07:11:28.613 回答
0

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

http://docs.mongodb.org/manual/reference/sql-comparison/

例如,您可以使用聚合管道,其中与以下内容相同:

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

一个简单的查询一样:

db.your_collection.aggregate({field: "value"})

Mongodb官方页面有很多信息

于 2013-09-17T04:34:00.257 回答