如何在C# .net中使用mongo运行自定义查询?

3
我可以帮你翻译以下内容,涉及到it技术相关的问题:

我有一个在mongo shell中运行的聚合查询。 我想要的是从一个简单的.Net 5控制台应用程序中执行此命令。 我只想运行命令(不使用任何高级的LINQ查询)并循环结果以测量某些内容。

我尝试了一个简单的查询:

 _client = new MongoClient("mongodb://localhost:27017");  
 _database = _client.GetDatabase("zzz");  
 var res = await _database.RunCommandAsync<BsonDocument>("users.find({})");

但结果始终为空。我还没有完全理解runCommand是否仅支持内置命令,或者它更通用。您能否详细说明一下?
1个回答

0
免责声明:我对MongoDb了解不多。
来自文档的内容:
db.runCommand(
   {
      "find": <string>,
      // ...
   }
)

所以我觉得你的查询应该是:

var res = await _database.RunCommandAsync<BsonDocument>("{ find: 'users' }");

有没有办法在mongo shell中按照我编写的方式运行命令?例如,我的查询如下: db.getCollection('users').aggregate([ {'$addFields': {'uid': {'$toString': '$_id'}}}, {'$lookup': {'from': 'profiles', 'localField': 'uid', 'foreignField': 'user_id.id', 'as': 'profile'}} ]) - undefined
@Harris 这是两个不同的API,所以我不会期望它们完全相同。你为什么需要它们完全一样呢? - undefined
我想制作一个基准控制台应用程序,以查看是否可以通过 .net 更快地获得一些结果(并对结果进行一些操作)。我知道针对 SQL Server 的 OleDb 命令有这样的功能,但我觉得无法在 .net 中实现这个功能很奇怪。 非常感谢。 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接