MongoDB:如何对另一个查询的结果执行查询(嵌套查询)?

发布于 2024-10-08 14:38:57 字数 442 浏览 5 评论 0原文

我需要对集​​合应用一组过滤器(查询)。默认情况下,MongoDB 将 AND 运算符应用于提交给 find 函数的所有查询。我需要按顺序(一个接一个)应用每个查询,而不是整个 AND 。也就是说,我需要运行第一个查询并获取一组文档,运行第二个查询以获取第一个查询的结果,依此类推。

这可能吗?

db.list.find({..q1..}).find({..q2..}).find({..q3..});

而不是:

db.list.find({..q1..}, {..q2..}, {..q3..});

为什么我需要这个?

因为,第二个查询需要将聚合函数应用于第一个查询的结果,而不是将聚合应用于整个集合。

I need to apply a set of filters (queries) to a collection. By default, the MongoDB applies AND operator to all queries submitted to find function. Instead of whole AND I need to apply each query sequentially (one by one). That is, I need to run the first-query and get a set of documents, run the second-query to result of first-query, and so on.

Is this Possible?

db.list.find({..q1..}).find({..q2..}).find({..q3..});

Instead Of:

db.list.find({..q1..}, {..q2..}, {..q3..});

Why do I need this?

Bcoz, the second-query needs to apply an aggregate function to result of first-query, instead of applying the aggregate to whole collection.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

遗心遗梦遗幸福 2024-10-15 14:38:57

是的,这在 MongoDB 中是可能的。您可以根据要求编写嵌套查询。即使在我的应用程序中,我也创建了嵌套 MongoDb 查询。如果您熟悉 SQL 语法,请将其与 in of sql 语法进行比较:

     select cname from table where cid in (select .....)

以同样的方式,您可以创建还对不同集合进行嵌套 MongoDB 查询。

Yes this is possible in MongoDB. You can write nested queries as per the requirement.Even in my application I created nested MongoDb queries.If you are familiar with SQL syntax then compare this with in of sql syntax:

     select cname from table where cid in (select .....)

In the same way you can create nested MongoDB queries on different collections also.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文