У меня есть коллекция, например User, у которой есть список пользователей, и у этого пользователя есть список пользователей. Как иерархия.Обновление во встроенном документе (Вложенная коллекция)
{
"_id" : ObjectId("55530326bc687d21783fd1ff"),
"Name" : "User 1",
"Role" : "Manager",
number:NumberLong(0),
"1" :
[
{
"_id" : ObjectId("55530326bc687d21783fd1fd"),
"Name" : "User 2",
"Role" : "Ass Manager",
number:NumberLong(0),
"1" :
[
.......
]
}
{
"_id" : ObjectId("55530326bc687d21783fd1fq"),
"Name" : "User 2",
"Role" : "Ass Manager",
number:NumberLong(1),
"1" :
[
.........
]
},
{
"_id" : ObjectId("55530326bc687d21783fd1fg"),
"Name" : "User 3",
"Role" : "Ass Manager",
number:NumberLong(2),
"1" :
[
........
]
}
],
"2" :
[
{
"_id" : ObjectId("55530326bc687d21783fd1fw"),
"Name" : "User 4",
"Role" : "Specialist",
number:NumberLong(0),
"1" :
[
.......
]
}
{
"_id" : ObjectId("55530326bc687d21783fd1fe"),
"Name" : "User 5",
"Role" : "Specialist",
number:NumberLong(1),
"1" :
[
.........
]
},
{
"_id" : ObjectId("55530326bc687d21783fd1fr"),
"Name" : "User 6",
"Role" : "Specialist",
number:NumberLong(2),
"1" :
[
........
]
}
]
}
Выше приведено только одно собрание для образца, например, у меня есть почти 10000 документов. Мне нужно найти коллекцию с номером «0». Даже если какой-либо один встроенный документ имеет «номер» как 0, я хочу этот документ.
Примечание: Я не могу сказать, сколько детей придет для пользователя.
Я думаю, вам нужно немного редактировать. Вам не нужно искать «коллекцию», не так ли? Вам нужно найти документы. Кроме того: вам нужно найти их или обновить их, как предлагает ваш заголовок? –
Прошу прощения, если я знаю запрос на поиск, я могу сам создать запрос на обновление. Поэтому я запрашиваю запрос на поиск. –
Эта схема кажется задуманной :) однако количество элементов в вложенном массиве не будет проблемой, но становится очень сложно, если вы не можете сказать максимальный уровень вложения и ключи, которые у вас есть (" 1 "," 2 "здесь не являются индексами, они являются ключами, а также" Имя "и" Роль "). –