我想在集合中存在的字符串列表中查找字符串。使用MongoDB查找字符串列表中的字符串
E.g.在我的收藏「作品」
tag: {"cute", "handsome", "modest"}
如果我從搜索欄輸入「cute」。它將搜索在字符串列表標籤中查找「可愛」標籤。
我如何用mongodb查詢做到這一點?
我想在集合中存在的字符串列表中查找字符串。使用MongoDB查找字符串列表中的字符串
E.g.在我的收藏「作品」
tag: {"cute", "handsome", "modest"}
如果我從搜索欄輸入「cute」。它將搜索在字符串列表標籤中查找「可愛」標籤。
我如何用mongodb查詢做到這一點?
如果你想獲得的所有作品,其中有「可愛」的標籤,然後使用以下查詢:
{ tag: "cute" }
的MongoDB會明白,標籤陣列,並檢查「可愛」項目的存在。 C#示例:
var works = db.GetCollection<WorkBase>("works");
var cuteWorks = works.Find(Query.EQ("tag", "cute"));
或者你可以使用LINQ(MongoDB.Driver.Linq)
var cuteWorks = from w in works.AsQueryable()
where w.Tags.Contains("cute")
select w;
BTW不要忘記你的屬性正確映射。例如。物業Tag
應該有指定正確的元素名稱:
[BsonElement("tag")]
public List<string> Tag { get; set; }
也可以考慮,因爲你的標籤集合,而不是單個標籤重命名屬性Tags
。
可愛只是一個例子。如果用戶鍵入「帥」,我必須找到記錄有一個名爲帥的標籤。 – user3008355
@ user3008355你知道如何在c#中使用變量嗎? –
您能否提供有效的JSON文檔? –
這是無效的散列和無效數組。你真的有這樣的結構文件嗎?我對此表示懷疑。 –
http://pastebin.com/YyN6JPzt這是集合模型 – user3008355