2014-01-20 2 views
2

Как использовать операции mongodb, такие как «$ inc, $ set, upsert ...» в sails.js с помощью адаптера sails-mongo?

Я пробовал этот код, но адаптер не определяет параметры.

Word.update(
    {coincidence: 'aaaaa'}, 
    {amount: 222}, 
    {upsert:true,safe:true}, 
    function(err,data){ 
    if (err){ 
     console.log(err); 
    } else { 
     console.log("score succeded"); 
    } 
    } 
); 
+0

В конце я добавил отсутствующую закрывающую круглую скобку. –

ответ

3

Для этого вам необходимо использовать способ модели . Он возвращает экземпляр коллекции родной драйвер Монго в:

Word.native(function(err, collection) { 
    collection.update(
    {coincidence: 'aaaaa'}, 
    {amount: 222}, 
    {upsert:true,safe:true}, 
    function(err){ 
     if (err){ 
     console.log(err); 
     } else { 
     console.log("score succeded"); 
     } 
    } 
); 
}); 

here См для документов на родной драйвер Монго, который покажет вам, что вы можете сделать с коллекцией, возвращаемой методом native.

+0

При использовании метода native, вызван ли крючок модели? – Luc

+1

Если вы имеете в виду обратные вызовы жизненного цикла, такие как '.beforeCreate' и' .afterUpdate', тогда ответ будет отрицательным. Вы всегда можете позвонить тогда сами; они просто классные методы, как и любые другие (например, «Word.beforeCreate (значения, обратный вызов)») – sgress454

Смежные вопросы