MongoDB C#offi:像搜索标签一样的多OR查询

时间:2011-03-07 18:24:51

标签: mongodb mongodb-.net-driver

我搜索所有标记有一些标签的内容。 $ OR不能嵌套在MongoDB中,但是如何使用标签列表或字符串列表在C#驱动程序中进行多OR查询?使用QueryComplete或一些StringBuilder构建Or(tag1,tag2 params..tagn),使用多OR语句查询标记内容的方法是什么?

感谢。

var query=new QueryComplete[];
List<Tags> tags=new List<Tags>();
foreach(Tag tag in tags)
{

}

2 个答案:

答案 0 :(得分:3)

这样的事情怎么样:

List<QueryComplete> myarray = new List<QueryComplete>();
foreach(Tag t in Tags)
{
  myarray.Add(Query.EQ(TagName, t.TagName));
}

var query = Query.Or(myarray.ToArray());

答案 1 :(得分:1)

mongodb中有$in运算符,似乎更适合上述任务:

List<Tags> tags=new List<Tags>();
Query.In("TagName", BsonArray.Create(tags.Select(x=> x.Name)));