2016-03-05 45 views
0

我需要使用ReactiveMongo刪除Mongo數據庫。由於ReactiveMongo不提供specialiaed API,因此我決定使用「runCommand」函數。使用反應性Mongo刪除數據庫

這是怎樣一個數據庫可以在蒙戈外殼被刪除:

> db.runCommand("dropDatabase") 
{ "dropped" : "123", "ok" : 1 } 

但是,當我嘗試做相同的反應蒙戈:

val runner = Command.run(BSONSerializationPack) 
val dbDropDoc = BSONString("dropDatabase") 
val dbDropResult = runner.apply(db, runner.rawCommand(dbDropDoc)).one[BSONDocument] 

我收到以下編譯錯誤:

[error] ...: could not find implicit value for parameter writer: runner.pack.Writer[reactivemongo.bson.BSONString] 
[error]  val dbDropResult = runner.apply(db, runner.rawCommand(dbDropDoc)).one[BSONDocument] 
[error]          

我該如何修復我的代碼?

回答

1

還有更簡單的方法:DefaultDB.drop()

def foo(myDB: DefaultDB): Future[Unit] = myDB.drop() 
+0

謝謝cchantep,我也一直在尋找一種方法來運行命令與ReactiveMongo。 – Antonin

+0

這是[高級主題](http://reactivemongo.org/releases/0.11/documentation/advanced-topics/commands.html),只有在現有API中沒有操作時才應考慮 – cchantep