2014-03-25 38 views
0

我正在研究grails/mongodb項目。 我想做一個全文研究使用MongoDB數據庫上:mongodb gmongo runCommand

db.test.runCommand("text", { search : "my_texte" }) 

的問題是,我沒有找到如何做到這一點在Groovy(或使用gmongo)。

如何從groovy執行「runCommand」?

謝謝。

回答

1

由於這只是Java驅動程序的一個包裝,因此大多數文檔都是there

就轉化爲「常規」的形式:

db.command("text", [ search: "mytexte" ]) 
+0

是的,我已經嘗試過,但它不工作。我遇到以下錯誤:「Caught:groovy.lang.MissingMethodException:沒有方法的簽名:com.mongodb.DBApiLayer $ MyCollection.command()適用於參數類型:(java.lang.String,java.util.LinkedHashMap) 「 –

+0

@CC。這確實很有趣。你有沒有嘗試明確地投射「HashMap」作爲第二個參數?如果一般語法不被接受,這看起來會成爲一個bug。 –

+0

仍然不能使用HashMap,但在文檔中我沒有看到該命令採用HashMap參數的方法。 –

1

我已經找到了Java版本,它的工作原理:

DBObject searchCmd = new BasicDBObject(); 
searchCmd.put("text", "test"); 
searchCmd.put("search", "mytexte"); 
CommandResult res = db.command(searchCmd) 
+0

不夠公平。這應該。但我會向維護者提交一個錯誤。 groovy語法應該可以工作。好拿起來。 –