c# - 蒙哥。C#。我如何执行字符串作为 mongo 查询
问题描述
假设我有一个字符串。" db.getCollection("somecollection").find({})"。我可以在 C# 中将此字符串作为查询执行吗?即我得到一个字符串。我只是将它作为查询执行,但在 c# 中
我只想这样
string query = "db.getCollection("somename")";
Mongo.execute(query);
解决方案
不,在这种情况下你能做的最好的事情就是使用db.RunCommand<BsonDocument>("{ ping : 1 }")
接近 shell 的 (c#)db.runCommand({ ping : 1 })
更新:你也可以看看这个如何通过 shell 脚本执行 mongo 命令?,我对此并不熟悉,并且在 Windows 和 5.0 服务器上的大多数情况下,除了简单的情况外,它对我不起作用:mongo --eval "printjson(db.serverStatus())"
但是如果您能够使这个建议的脚本mongo < script.js
(或类似脚本)工作例如,在 shell 中,您将能够将随机查询放入此文件(script.js
)中,然后将此文件作为参数添加到 Process 创建类似于:
using (var process = new Process())
{
// arguments below may require the whole path to the files
process.StartInfo.Arguments = "script.js";
process.StartInfo.FileName = "mongo";
process.Start();
}
要读取结果,您将需要分析process.StandardOutput
/process.StandardError
流。
推荐阅读
- python - 调整子图为彩条腾出空间
- r - 使用 glmm 为单个比例的元分析添加或计算权重
- java - 使用实现外部接口的 openapi 生成器创建模型类
- openshift - Redhat codeready 容器部署从主机抛出错误查询 DNS: Invalid IP for foo.apps-crc.testing
- oracle - 我可以在 Oracle 中有大量元组吗?
- botframework - Microsoft Bot 在 Teams 和 Bot Emulator 中均未响应
- css - 引导网格:如何更改列的位置?
- java - 从 Oracle Java 8 更新到采用 OpenJDK
- continuous-integration - 我正在寻找 xml 和 Python 的代码策略执行工具
- javascript - 如何在 sagas 中使用异步加载的资产与本机反应?