使用被动Mongo删除数据库

时间:2016-03-05 19:53:27

标签: mongodb scala reactivemongo

我需要使用ReactiveMongo删除Mongo数据库。由于ReactiveMongo没有提供特殊的API,我决定使用" runCommand"功能

这是在Mongo shell中删除数据库的方式:

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

但是当我尝试对Reactive Mongo做同样的事情时:

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 个答案:

答案 0 :(得分:2)

有更简单的方法:DefaultDB.drop()

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