У меня проблемы с выполнением запроса (CosmosDB SQL API), когда я пытаюсь выбрать массив объектов.
Я хочу знать, все ли аргументы моего поиска находятся в разных объектах.
Следующий документ должен быть найден:
{
"_id" : "97e9272d-cd7e-4a26-3245-o4e67h29beqw",
"_type" : "Document",
"categories" : [
{
"_name" : "PruebaCategoria", (searching by this)
"Type" : "omega",
"Policy number" : "1234567890",
"date" : 1553081146391,
"boolean" : true
},
{
"_name" : "CategoryDemoTest",
"Type" : "free",
"Policy number" : "0987654321"
},
{
"_name" : "CategoryDemoTestDates",
"dateInitial" : 1553081146592, (and by this in range)
"dateEnd" : 1553081146594,
"Type" : "omega"
}
],
"partitionNumber" : 1,
"serial" : 1
}
Я хочу повторить следующий запрос, используемый с mongodb API:
{ "categories" : { "$all" : [{ "$elemMatch" : { "dateInitial" : { "$gt" : { "$numberLong" : "1553081146591" }, "$lt" : { "$numberLong" : "1553081146593" } } } }, { "$elemMatch" : { "_name" : "PruebaCategoria" } }] } }
Я попробовал следующий запрос, но кажется, что они совпадают только в том случае, если только один объект имеет все элементы, которые я ищу:
"SELECT VALUE c FROM c JOIN cat in c.categories WHERE cat._name=\"PruebaCategoria\" AND cat.dateInitial > 1553081146591 AND cat.dateInitial < 1553081146593"
Существует ли метод для поиска такого типа (с API-интерфейсом CosmosDB)?