Я реализую приложение с загрузкой Spring и впервые использую MongoDB в качестве базы данных.
Мне нужно создать критерии для запроса для MongoDB, однако я не знаю, как это сделать.Мой документ выглядит следующим образом:
...
"mylists" : [
{
"subListName" : "Main",
"list" : [
{
"name" : "abc",
"amount" : "3"
},
{
"name" : "adf",
"amount" : "1"
},
]
},
{
"subListName" : "Additional1",
"list" : [
{
"name" : "xyz",
"amount" : "1"
},
{
"name" : "dbr",
"amount" : "1"
}
]
}
],
...
Я хочу получить документы, в которых есть «abc» в одном из списков.Как вы можете видеть, массив mylists содержит 1 или более subList, а каждый subList снова содержит 1 или более объектов.
Для обычного 1d массива я могу создать такой запрос:
criteria.add(Criteria.where("list").in('abc'), "i"));
Мои списки также находятся в другом большом списке.Также abc находится в поле 'name'.Поэтому я не мог понять, как это сделать.
Любая помощь приветствуется.