我需要在我的网站中添加全文搜索选项,在mongodb中添加数据库, Mongo查询:
db.collection.runCommand("text",{"search":"search text"})
给出结果,但是如何使用C#执行它?
答案 0 :(得分: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);
来源:Mongo
答案 1 :(得分: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
答案 2 :(得分:2)
我在MongoDb.Driver 2.4.4找不到CommandDocument
,但JsonCommand
有效。
var ru = db.RunCommand<BsonDocument>(new MongoDB.Driver.JsonCommand<BsonDocument>("{getLastRequestStatistics: 1}"));
答案 3 :(得分:0)
我相当普遍的runCommand的shell-to-c#转换规则是这样的:
db.runCommand( <command's json> )
对应
var res = database.RunCommand<BsonDocument>(CommandDocument.Parse("<command's json text>"));