2017-10-18 65 views
0

叫我打電話從Java的MongoDB的JavaScript腳本文件,如下從蒙戈JS腳本文件返回值從Java

String jsCode = readFromMongoScript("/path/to/script.js"); 

jsCode包含字符串格式的JavaScript。

作爲下一步我試圖捕獲從jscode返回的響應。

CommandResult resultSet = getMongoConnection().getDB(dbName).doEval(jsCode); 
System.out.println("Resultset: " + resultSet); 

,但我得到的日誌響應,如下所示:

Resultset: { "retval" : null , "ok" : 1.0}

因此請大家幫忙,

如何從蒙戈JS腳本文件數據返回到Java

如何在Java中讀取/訪問它?

+0

['eval'](https://docs.mongodb.com /manual/reference/command/eval/#dbcmd.eval)已被棄用,現在已經發布了幾個小版本。這意味着它將被刪除**,因此您不應該編寫任何依賴於它的新代碼。實際上,以這種方式使用JavaScript的服務器端執行的遺留代碼實際上應該重新編寫爲優先事項。無論您「思考」的目的是什麼,您都需要用這種方法來更好地服務於您選擇的實現語言(這裏是Java)。 –

回答

0

好的,經過多一點研究,我解決了我的問題。

  1. 在蒙戈JS腳本提供一個明確的聲明return解決了這個問題並且得到的輸出是:

Resultset: { "retval" : true , "ok" : 1.0}