问题标签 [asqueryable]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - MondoDB+C#+IQueryable - 有一个字符串数组以及如何在 Where 子句中将其加入 Mongo 的集合
对 Mongo 有相当少的经验,请帮助...我在 Mondo DB 中有 Employee 集合(字段是:FirstName、LastName、Title 等),使用 C# MongoDB 驱动程序并将集合用作 IQueryable,因此我可以搜索使用 LINQ 获取数据。
我需要在 Mongo 的 Employee 集合中执行复杂的搜索。例如,用户输入 SearchText="John Doe CEO",代码将此字符串拆分为数组:["John", "Doe", "CEO"]。任务是:如果任何字段(FirstName OR LastName OR Title)包含数组中的任何单词,则查询应将其作为结果返回。
AFAIR,当我查询一个简单的列表时,这个语句可以正常工作:
但是当我在真正的 Mongo DB 上运行查询时,由于不支持的运算符 string[].Any... 而失败...所以我无法将 C# 代码中的数组传递到 Mongo DB 然后 - 执行 LINQ/搜索操作,基于提供的数组元素...似乎我不能使用字符串数组作为初始表达式(allWordsArr.Any(...))
如何使用多个字段和单词数组执行搜索?我更喜欢使用 collection.AsQueryable(..)+LINQ 方法,但如果不可能 - 欢迎任何建议......
非常感谢!
c# - Mongodb AsQueryable() 性能
我有这样的代码,我想使用 Linq 查询 MongoDB。
我从 MongoDB 集合中得到了一个 AsQueryable。
我这样称呼它
带有查询的函数。
我的代码工作正常。我的代码托管在 IIS 中,大约有 50,000 条记录,查询比示例稍微复杂一些。当调用 foreach 时,我的工作进程飙升至 17% 并且需要几秒钟才能执行。对于如此低的日期数量,这是一个荒谬的高。
我有一些问题。
- 查询是由 .net 还是 MongoDB 执行的?如果它是由 MongoDB 执行的,为什么我的工作进程会受到如此大的打击?
- 我可以采取哪些步骤来改进执行时间以呈现查询并减少服务器负载。
谢谢