2014-01-20 91 views
2

如何使用sails-mongo適配器在sails.js中使用類似「$ inc,$ set,upsert ...」的mongodb操作?

我試過這段代碼,但是適配器沒有標識這些選項。

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

你必須使用模型的native方法來做到這一點。它返回本地蒙戈司機的集合的實例:

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"); 
     } 
    } 
); 
}); 

有關蒙戈本地驅動程序的文檔,這將告訴你,你可以由native方法返回的集合做什麼見here

+0

當使用本地方法時,模型的鉤子是否被觸發? – Luc

+1

如果您的意思是'.beforeCreate'和'.afterUpdate'等生命週期回調,那麼答案是否定的。你可以隨時打電話給自己;他們只是像其他任何類的方法(例如'Word.beforeCreate(values,callback)') – sgress454

相關問題