Я пытаюсь выяснить, как обновить элемент внутри массива, который является частью сообщения. Я нашел это, которое ближе всего к тому, что я ищу: MongoDB Update Array elementmongodb: обновить элемент массива внутри сообщения внутри коллекции
Но у меня нет специального сообщения, выстроенного первым, как показано на примере. Но мне нужно сначала найти конкретную запись, используя _id, а затем обновить элемент в массиве из приведенного сообщения.
Могу ли я сделать это с помощью одного запроса или мне нужно сначала найти элемент, а затем обновить его, как показывает пример в другом ответе?
В нижнем json, как я могу обновить первые сообщения комментариев: первый комментарий?
EDIT:
[{
"_id": "52c06c86b78a091f26000001",
"comments": [
{
"user_id": "52ad97bab142627664000001 ",
"username": "phacer",
"comment": "nice dress!!!",
"created": 1390668491909,
"_id": "_SvF-Ag4d6wFf9QR1KdAdFIpcCyI3cqm2F4rl3w7rdk="
},
{
"user_id": "52ad97bab142627664000001 ",
"username": "phacer",
"comment": "nice dress!!!",
"created": 1390668491909,
"_id": "_SvF-Ag4d6wFf9QR1KdAdFIpcCyI3cqm2F4rl3w7rdk="
}
],
"desc": "Something somethingson",
"hate": [],
"imageurl": "some url",
"love": [
{
"user_id": "52add4f4344e8ca867000001",
"username": "asd",
"created": 1390652212592
}
],
"tags": [
{
"y": 29.3,
"brand": "Zara",
"type": "Bow Tie",
"x": 20,
"color": "Black"
}
],
"user_id": "52add4f4344e8ca867000001"
},
{
"_id": "52c06c86b78a091f26000001",
"comments": [
{
"user_id": "52ad97bab142627664000001 ",
"username": "phacer",
"comment": "nice dress!!!",
"created": 1390668491909,
"_id": "_SvF-Ag4d6wFf9QR1KdAdFIpcCyI3cqm2F4rl3w7rdk="
}
],
"desc": "Something somethingson",
"hate": [],
"imageurl": "some url",
"love": [
{
"user_id": "52add4f4344e8ca867000001",
"username": "asd",
"created": 1390652212592
}
],
"tags": [
{
"y": 29.3,
"brand": "Zara",
"type": "Bow Tie",
"x": 20,
"color": "Black"
}
],
"user_id": "52add4f4344e8ca867000001"
}]
Вы должны иметь возможность обновлять массив на основе запроса в одном окне рацион. Почему бы вам не разместить какой-нибудь образец json и объяснить, что вы хотите сделать, и мы можем отправить вам пример. – cirrus
@cirrus Я добавил немного json, спасибо. –
+1 для $ elemMatch - но у меня возникло бы желание просто поместить комментарии в свою коллекцию, если бы у меня был выбор. Таким образом, я мог бы использовать индекс для user_id, _id и post_id. Легко и быстро добавлять и обновлять. Удаление сообщения, и все комментарии будут более активными, но это менее распространенная операция, которую я подозреваю. – cirrus