MongoDB:如何对另一个查询的结果执行查询(嵌套查询)?
我需要对集合应用一组过滤器(查询)。默认情况下,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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
是的,这在 MongoDB 中是可能的。您可以根据要求编写嵌套查询。即使在我的应用程序中,我也创建了嵌套 MongoDb 查询。如果您熟悉 SQL 语法,请将其与 in of sql 语法进行比较:
以同样的方式,您可以创建还对不同集合进行嵌套 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:
In the same way you can create nested MongoDB queries on different collections also.