我想使用$inc
来更新Model(用户)的属性,但我发现了两个问题。我无法找到参数allowExtendedOperators:true
,而且我不知道这是否写得正确:
公共/ 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文件以及作为传递给更新的选项 方法
但对我没什么用。
答案 0 :(得分:2)
按如下方式调用方法:
user.updateAttributes({"$inc": {coins: -1}}, callback);
虽然回调将在递减之前始终返回旧实例。