我試圖從mongodb-native/node.js環境執行存儲的函數。如何從mongodb-native/node.js執行存儲的函數
我在db.system.js裏面有幾個函數。
看來Db.executeCommand()是函數,但我不知道如何傳遞函數名稱和參數。
我試着db.eval()建議,但我得到了以下。
> db.eval('getValue()', {}, function(er,doc) {console.log(er);console.log(doc);});
{ stack: [Getter/Setter], arguments: [ 'send', undefined ], type: 'non_object_property_call', message: [Getter/Setter] }
null
getValue是一個簡單的函數,它返回一個整數。
任何人有想法?謝謝。
你能舉個例子嗎?我仍然有問題db.eval() –
@MinJaeHwang:如果我使用類似 'db.system.js.save({_ id:「addNumbers」,值:function(x,y){return x + y;}});' 從js命令行獲取存儲過程addNumbers到我的數據庫中,node.js命令: 'db.eval(「addNumbers(4,5)」,function ,result){console.log(result);});' 將輸出9到控制檯。這有幫助嗎? – cjohn
它只是返回null。 db.eval( '的addNumbers(4,5)');儘管如此,在mongo shell中返回9。 –