Рассмотрим следующие документы в CouchDB:
{
"name":"Foo1",
"tags":["tag1", "tag2", "tag3"],
"otherTags":["otherTag1", "otherTag2"]
}
{
"name":"Foo2",
"tags":["tag2", "tag3", "tag4"],
"otherTags":["otherTag2", "otherTag3"]
}
{
"name":"Foo3",
"tags":["tag3", "tag4", "tag5"],
"otherTags":["otherTag3", "otherTag4"]
}
Я бы хотел запросить все документы, которые содержат ALL (не любых!) Тегов, указанных в качестве ключа.
Например, если я запрашиваю с помощью '["tag2", "tag3"] ", я бы хотел получить Foo1 и Foo2.
В настоящее время я делаю это, сначала запрашивая тегамидля «tag2», затем для «tag3», создавая объединение вручную.
Это кажется ужасно неэффективным, и я предполагаю, что должен быть лучший способ.
Мой второй вопрос -но они довольно связаны, я думаю - будет:
Как бы я запросил все документы, которые содержат "tag2" AND"tag3" AND"otherTag3"?
Надеюсь, такой вопрос раньше не задавался / не был получен.Я искал его и не нашел.