7
增加一个字段在MongoDB中收集我想通过我的猫鼬的MongoDB数据库中增加一个集合中的值。这是猫鼬的网站上显示的演示代码:与猫鼬
var conditions = { name: 'borne' }
, update = { $inc: { visits: 1 }}
, options = { multi: true };
Model.update(conditions, update, options, callback)
而且我有这样的事情:
var conditions = { "uniqueId" : itemId };
var update;
if(increase)
update = {$inc : {inStock : 1}};
else
update = {$dec : {inStock : 1}};
Item.update(conditions, update, {}, callback);
正如你可以看到有没有从猫鼬的网站代码太大的差别。
的问题是,执行该块的代码时,我最终我的收藏一个场称为$dec
(或$inc
)在具有本发明的目的如在形式{inStock : 1}
的字段。我只想增加收藏中的inStock条目。在架构我有:
var ItemToSell = new Schema({
uniqueId : { type: Number, index: true }
, name : String
, type : String
, inStock : Number
});
任何人都可以指出我做错了什么? 非常感谢。
感谢您的回复。通过删除空的'{}'我解决了导致集合中添加'{“$ dec”:{“inStock”:1}}“的问题。你说的也对,因为我使用的是Mongoose的老版本,但我仍然没有解决这个问题。现在看来它对集合完全没有做任何事情。 – Masiar 2012-02-06 12:07:59
好的,我解决了这个问题。回调函数的'err'输入给了我更新我的Mongoose版本的东西。我发现'$ dec'不存在,因此为了递减,我必须输入一个负数('{$ inc:{inStock:-1}}')。感谢您尝试一下,它帮助了很多! – Masiar 2012-02-06 15:12:12
你知道如何以“** inStock **”作为参数吗? – 2014-06-25 11:47:41