1

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

谢谢。

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

}
4

2 回答 2

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());
于 2011-03-07T20:32:54.830 回答
1

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

List<Tags> tags=new List<Tags>();
Query.In("TagName", BsonArray.Create(tags.Select(x=> x.Name)));
于 2011-03-31T21:11:28.057 回答