MongoDB C # offi: multi ИЛИ запрос как поиск Теги - PullRequest
1 голос
/ 07 марта 2011

Я искал, чтобы получить все содержимое, помеченное некоторыми тегами. $ OR не может быть вложенным в MongoDB, но как насчет того, чтобы сделать запрос multi OR в драйвере C #, используя список тегов или список строк? Используя QueryComplete или какой-либо StringBuilder для построения Or (tag1, tag2 params..tagn), каков метод для запроса содержимого тегов с помощью оператора multi OR?

спасибо.

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

}

Ответы [ 2 ]

3 голосов
/ 07 марта 2011

Как насчет этого:

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 голос
/ 01 апреля 2011

В mongodb есть оператор $ в , кажется, он больше подходит для вышеуказанной задачи:

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