2015-02-26 2 views
0

У меня есть документ, в коллекции MongoDB, как это:Как обновить элемент массива мангуста в

{ 
    id: String, 
    username: String, 
    password: String, 
    email: String, 
    user_messeges: [{ 
        mail:String, 
        messeges:[ {String} ] 
        }] 
} 

И я хочу, чтобы обновить messeges массив в user_messeges массиве.

я использовал этот метод, но я получил сообщение об ошибке: «Позиционный оператор не нашел матч, необходимый из запроса Неожиданное обновление.»

User.update({'user_messeges.email':my_email},{$push : {'user_messeges.$.messages':msg}},{upsert:true},function(err)... 

Как я могу это сделать?

ответ

0

Просто протестируйте следующий запрос в отношении своей схемы и он будет работать.

db.user.update({'user_messeges.mail':'some_email'}, 
{$push:{'user_messeges.$.messeges':'new msg'}}, 
{upsert:true}) 
Смежные вопросы