2017-02-25 44 views
1

需要添加用戶ID爲我的用戶,那將是我的藏品數+ 1 舉例來說,如果我有100個用戶,未來用戶的用戶ID將是101如何將變量放入我的查詢中? (貓鼬)

User.count().exec(function (e, count) { 
    console.log(count); // Count = 15, correct. 
    newUser.userId = count + 1; // Ain't working... 
}); 

所以如何將「count」變量添加到我的查詢中? 或者它是更先進的方式,獲取自動增量(主鍵)在貓鼬?

+0

爲什麼你需要ID來自動增加?你的目的是什麼?你想要所有的用戶唯一的ID,還是有一些其他的動機 –

+0

@Ravi Shankar給每個用戶唯一的ID,並建立像用戶/ 1 ...用戶/ 1242的鏈接。你認爲這是一個壞主意,在MongoDB中添加唯一的ID? –

回答

1

你的假設是正確的,有一種不同的方式來獲得文檔的「主鍵」。使用objName._id(在你的情況下,newUser._id)訪問在創建對象時爲文檔生成的唯一值。

請注意,MongoDB不是一個關係數據庫,所以它不是主鍵,它會是一串垃圾。如果你確實需要自動遞增_id,你也可以使用here.記錄的流程做到這一點。基本上,使用db.counters.insert做一個計數器,然後創建你自己的函數,使用findAndModify獲得你輸入的序列號db.counters,然後增加它。最後,您可以通過將_id設置爲在插入呼叫期間調用該函數的結果,將文檔插入User(或類似內容)。