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