我想在集合中存在的字符串列表中查找字符串。使用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