2016-03-01 3 views
4

Я хочу использовать $inc для обновления атрибута модели (пользователя), но я нахожу две проблемы. Я не могу найти, если параметр allowExtendedOperators:true, и я не знаю, если это правильно писать:Как использовать операторы MongoDB в Strongloop

общий/user.js

user.updateAttribute('coins',{ '$inc': {coins: -1} }, function(err,...); 

общий/user.json

"name": "user", 
"base": "User", 
"strict": true, 
"idInjection": true, 
"options": { 
    "validateUpsert": true 
}, 
... 
"settings": { 
    "mongodb": { 
     "allowExtendedOperators": true 
    } 
    }, 

Я стараюсь это, но ничего не происходит ...

сервер/datasource.development.js

"MongoDB": { 
    "host": "...", 
    "port": "..." 
    "database": "...", 
    "name": "MongoDB", 
    "connector": "mongodb", 
    "allowExtendedOperators": true 
    } 

Я искал на documentation StrongLoop и единственный пример, чтобы сделать UpdateAll и говорит:

Есть два способа включить флаг allowExtendedOperators: в : определение модели JSON файла и в качестве опции, переданной в обновление .

Но ничего не работает для меня ..

ответ

2

Вызвать метод следующим образом:

user.updateAttributes({"$inc": {coins: -1}}, callback); 

хотя обратный вызов всегда будет возвращать старый экземпляр, прежде чем декремента.

+2

wow, это работает. Я удаляю {"allowExtendedOperators": true} из user.json, в файле datasource требуется ... спасибо любым способом. – jrltt

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