2

我需要在我的站点、mongodb 中的数据库、Mongo Query 中添加全文搜索选项:

db.collection.runCommand("text",{"search":"search text"})

给出结果,但如何使用 C# 执行它?

4

4 回答 4

3
_collection.Insert(new BsonDocument("x", "The quick brown fox"));  

var textSearchCommand = new CommandDocument
{
  { "text", _collection.Name },
  { "search", "fox" }
};
var commandResult = _database.RunCommand(textSearchCommand);
var response = commandResult.Response;

Assert.AreEqual(1, response["stats"]["nfound"].ToInt32());
Assert.AreEqual("The quick brown fox", response["results"][0]["obj"]["x"].AsString);

资料来源:蒙古

于 2013-10-22T08:49:33.057 回答
3

CommandDocumentMongoDb.Driver 2.4.4中找不到但可以JsonCommand工作。

var ru = db.RunCommand<BsonDocument>(new MongoDB.Driver.JsonCommand<BsonDocument>("{getLastRequestStatistics: 1}"));
于 2017-06-15T19:51:41.727 回答
2

我想你正在寻找这个:

var commandResult = collection.RunCommand(aggregationCommand);
var response = commandResult.Response;
foreach (BsonDocument result in response["results"].AsBsonArray)
{
    // process result
}

很好的例子,但可以在这里找到聚合:https ://groups.google.com/forum/?fromgroups#!topic/mongodb-user/8dM1LnHh9-Q

于 2013-06-07T06:15:37.303 回答
0

我比较通用的 runCommand 的 shell-to-c# 转换规则是这样的:

db.runCommand( <command's json> )

对应于

var res = database.RunCommand<BsonDocument>(CommandDocument.Parse("<command's json text>"));
于 2016-03-12T01:12:40.027 回答