使用另一个查询的结果在MongoDB中查找文档

白鹭

我是新来的MongoDB,我试图找到托收A,其中外地_id等于野外excel_template的采集B

var r = db.B.find({"name":/.*aco.*/}, {excel_template:1, _id:0}).excel_template;
db.A.find({"_id":{$eq: "${r}" }})

但是我很难。它不会给我任何结果,而应该给我一个结果。任何建议将不胜感激

克列丹

find将a返回cursor到匹配的文档。所以查询

db.B.find({ "name": /.*aco.*/ }, { "excel_template": 1, "_id": 0 })

不会返回单个文档,而是返回cursor与上述查询条件匹配的文档。

您可以使用distinct()方法excel_template从与上述查询匹配的文档中返回的数组,然后在其他查询中使用该方法,如下所示:

var r = db.B.distinct("excel_template", { "name": /.*aco.*/ });
db.A.find({ "_id": { "$in": r } });

要么


MongoDB 3.2及更高版本:

您还可以使用聚合框架,在该框架中,$lookup管道将提供一种功能来连接两个集合并在单个操作中运行查询

db.B.aggregate([
    { "$match": { "name": /.*aco.*/ } },
    {
        "$lookup": {
            "from": "A",
            "localField": "excel_template",
            "foreignField": "_id",
            "as": "bList"
        }
    }
])

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用一个查询的结果在Postgres中查询另一个

使用先前查询结果中的字段在mongodb中的另一个查询中

SQL根据另一个表中的搜索结果在表中查找行

根据另一个表中列的结果在查询中更改日期

在一个查询中使用结果在另一个查询中使用-Orace MySql

如何在一个集合中查找未被另一个集合中的文档引用的MongoDB文档?

如何使用LINQ to MongoDb在文档中另一个数组内部的数组中查找和推送元素

如何使用 nodejs 通过 objectId 和 mongodb 中的另一个字段查找文档?

如何使用另一个集合Moongoose查找子查询文档

在另一个查询中使用查询结果

在另一个查询中使用查询结果

在另一个查询中使用查询结果

在 Elasticsearch 中的另一个查询中使用一个结果

Mongoose / MongoDB - 在另一个文档中按数组查询

如何在 mongoDB 中查询每个文档的另一个集合

是否可以将一个查询的结果作为条件输入到另一个查询MongoDB中

合并2个查询-在一个查询中获取列名,在另一个查询中使用结果

如何将mongo查找查询的结果添加到另一个查找查询中

Mongodb-Query db使用另一个查询的结果

使用汇总结果过滤另一个索引中的文档

使用另一个查询的结果更新表

在另一个查询中使用MySQL结果

如何使用一个mysql查询的结果并在php中的另一个查询中使用它?

使用一个 MySQL 查询的结果作为另一个 MySQL 查询中的变量

子文档数组上的 MongoDB 查询和投影也返回另一个文档的数组

如何使用mongodb中主集合的objectID在另一个集合中查找

Laravel,使用查询查找那些ID在另一个表中的ID

在 Postgres 中更新另一个查询的表使用结果

如何在联合查询中的另一个选择中使用选择的结果?