【发布时间】:2017-05-12 09:53:02
【问题描述】:
我必须搜索所有文档中的内容,特别是 .net mvc 中的 mongodb 集合。我已经通过像这里一样成功创建索引来尝试使用 mongodb shell。
db.collection_name.createIndex( { subject: "text" } )
db.collection_name.find( { $text: { $search: "search_word" } } )
它工作正常。但是当我把它放在 .net 中时,这给了我错误。我用谷歌搜索并得到了以下索引解决方案。
collection.EnsureIndex(new IndexKeysBuilder().Ascending("subject"));
现在我该如何运行这个查询db.collection_name.find( { $text: { $search: "coffee" } } )。
我正在 .net 中尝试以下方式。
collection.CreateIndex("subject":"text");
var query = collection.Find({ $text: { $search: "coffe" }});
但我在第一行出现错误“将文本表示为一系列 unicode ....语法错误”
第二行错误“没有给出与所需形式参数相对应的参数”和“意外字符$”。
任何建议将不胜感激。
【问题讨论】:
-
您需要显示 .NET 代码,当您说它“给出错误”时 - 什么错误?
-
var collection = Database.GetCollection
("articles"); collection.EnsureIndex(new IndexKeysBuilder().Ascending("subject")); var query = collection.find( { $text: { $search: "coffee" } } ); -
最后一行的错误我认为我们不能像在 mongodb shell 中那样直接编写查询。所以我必须得到.net 的解决方案才能在 mongodb 中进行全文搜索
标签: c# .net mongodb mongodb-query mongodb-.net-driver