@dimasik24na7

MongoDB Express Как запушить объект во вложенному массиву в документ, найденный по запросу?

Использую mongoose.
Есть документ:
{id: 1,
	name: 'John',
	surname: 'Doe',
	chats: [
	{
			type: 'user',
			chatId: 2,

			messages: [
				{ isMy: false, text: 'Foo' },
				{ isMy: true, text: 'Bar' },
			],
		},
		{
			type: 'user',
			chatId: 3,

			messages: [
				{ isMy: false, text: 'Bar' },
				{ isMy: true, text: 'Foo' },
			],
		},]


Как мне найти пользователя по id , затем найти конкретный чат по chatId и добавить в массив messages новый объект

Моя заготовка:
app.post('/users/:userId/add_message', async (req, res) => {
        const userId = req.params.userId;
	const { chatId, message } = req.body;
userTable.findOneAndUpdate({ id: userId }, { $push: { 'chats[chatId].messages': message } });
})
  • Вопрос задан
  • 32 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы