gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 09:47:20 25 4
gpt4 key购买 nike

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

这可能吗?

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

代替:

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

我为什么需要这个?

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

最佳答案

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

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

以同样的方式,您也可以在不同的集合上创建嵌套的 MongoDB 查询。

关于MongoDB:如何对另一个查询(嵌套查询)的结果执行查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4498201/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com