【问题标题】:Drop database with reactive Mongo使用响应式 Mongo 删除数据库
【发布时间】:2016-03-06 06:46:18
【问题描述】:

我需要使用 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]                                     

我应该如何修复我的代码?

【问题讨论】:

    标签: mongodb scala reactivemongo


    【解决方案1】:

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

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

    【讨论】:

    • 感谢 cchantep,我也会有兴趣找到一种使用 ReactiveMongo 运行命令的方法。
    • 这是一个advanced topic,只有在现有API中没有操作时才应该考虑
    猜你喜欢
    • 2016-07-02
    • 2013-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-27
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    相关资源
    最近更新 更多