我想創建「服務器端功能」根據autoincrement tutorial(自定義JS功能蒙戈DB加載)。 主要思想是具有函數getNextSequence(collectionName),該函數返回此collection的自動增量id。訣竅是爲每個收藏分別收集「計數器」和文檔,該文檔保存自動增量狀態。呼叫功能插入
反正,我已經創建並加載在蒙戈該功能,它通過蒙戈外殼很好地工作:
db.users.insert(
{
_id: getNextSequence("userid"),
name: "Sarah C."
}
)
這也從通過的NodeJS EVAL工作:
db.eval('getNextSequence(\'test\')', function(err, result){...});
但我不能當從NodeJS插入時,如何在文檔中內聯使用它。 我不能寫:
{
_id: getNextSequence("userid"),
name: "Sarah C."
}
,因爲這會期望getNextSequence是方法的NodeJS。 NodeJS + MongoDB中有這種表達形式嗎? 謝謝!
我希望我可以放過這個分貝的電話,但我客串是驅動程序數據庫引擎的事情,沒有什麼更好的是可用的。謝謝。 – ooouuiii 2014-09-21 18:06:42
@ooouuiii - 我認爲唯一的選擇將是像這樣的東西滾你自己的觸發(S): http://danielweberonline.wordpress.com/2012/05/14/creating-triggers-for-mongodb/ – TMan 2014-09-23 03:35:48
哇,我不知道這個:),謝謝。目前我只是爲了清晰而犧牲了這一呼叫,但對於未來的某些用例而言,這可能會很方便。我會看到,如果通過性能測試。也許另一種方式可能是整個插入到eval。在這種情況下,包含函數調用沒有問題。但是這對於一些nosql注入來說是可以忍受的。 – ooouuiii 2014-09-23 17:32:33