gpt4 book ai didi

c# - MongoDb 查询和 system.linq

转载 作者:可可西里 更新时间:2023-11-01 10:43:28 26 4
gpt4 key购买 nike

当我使用 System.linq 查询 MongoCollection 中的对象时:

var result = collection.Find(query).Where(x => x.something == something);

这是对数据库还是内存中的集合进行的查询?

例如“SetSkip”在 MongoDb 中创建查询,但“Skip”在内存中执行。

如果“.Where”在内存中完成,有没有办法不这样做?

最佳答案

.Where 查询是通过 IEnumerable.Where 在内存中完成的,因为它是在建立 MongoDB 的 Find 调用的结果上执行的要执行的查询。

要将 .Where 查询合并到 Find 中,您可以创建一个新查询,将两个查询结合在一起:

query = Query.And(query, Query<YourType>.EQ(x => x.something, something));
var result = collection.Find(query);

关于c# - MongoDb 查询和 system.linq,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26692213/

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