У меня есть коллекция, в которой хранится документ в следующем формате:
/* 1 */
{
"_id" : ObjectId("5cc1a108c5475b9e91bb7830"),
"item" : "journal",
"instock" : [
{
"warehouse" : "A",
"qty" : 5.0
},
{
"warehouse" : "C",
"qty" : 15.0
}
]
}
/* 2 */
{
"_id" : ObjectId("5cc1a108c5475b9e91bb7831"),
"item" : "notebook",
"instock" : [
{
"warehouse" : "C",
"qty" : 5.0
}
]
}
/* 3 */
{
"_id" : ObjectId("5cc1a108c5475b9e91bb7832"),
"item" : "paper",
"instock" : [
{
"warehouse" : "A",
"qty" : 60.0
},
{
"warehouse" : "B",
"qty" : 15.0
}
]
}
/* 4 */
{
"_id" : ObjectId("5cc1a108c5475b9e91bb7833"),
"item" : "planner",
"instock" : [
{
"warehouse" : "A",
"qty" : 40.0
},
{
"warehouse" : "B",
"qty" : 5.0
}
]
}
/* 5 */
{
"_id" : ObjectId("5cc1a108c5475b9e91bb7834"),
"item" : "postcard",
"instock" : [
{
"warehouse" : "B",
"qty" : 15.0
},
{
"warehouse" : "C",
"qty" : 35.0
},
{
"warehouse" : "M",
"qty" : 50.0
}
]
}
/* 6 */
{
"_id" : ObjectId("5cc1a16ea794ebd5fc278172"),
"item" : "dig",
"instock" : [
{
"warehouse" : "A",
"qty" : 5.0
}
]
}
Я хочу найти конкретный массив документов, у которого qty больше указанного значения и меньше другого указанного значения.
Например, Я хочу, чтобы элемент "открытка" и стоимость товара в запасе были больше 10 и меньше 40, поэтому он возвращает мне документ открытки с массивом instock, содержащий только один элемент, который соответствует выводу:
/* 1 */
{
"_id" : ObjectId("5cc1a108c5475b9e91bb7834"),
"item" : "postcard",
"instock" : [
{
"warehouse" : "B",
"qty" : 15.0
},
{
"warehouse" : "C",
"qty" : 35.0
}
]
}