【问题标题】:MongoCollection versus DBCollection javaMongoCollection 与 DBCollection java
【发布时间】:2015-03-31 09:09:55
【问题描述】:

什么时候应该使用 MongoCollection,什么时候使用 DBCollection? 同样的问题也适用于 DBObject、BasicDBObject、Document。似乎有不同的东西是相似的。至少对我来说他们是。我觉得这很令人困惑。任何建议都会非常受欢迎。

【问题讨论】:

    标签: java mongodb


    【解决方案1】:

    这似乎是关于 3.0.0 MongoDB Java 驱动程序的问题。

    一般建议是使用 Document/MongoCollection/MongoDatabase 进行新的应用程序开发。

    但是,DBObject/DBCollection/DB 类仍保留在 3.0.0 驱动程序中,因此当前使用 2.x 驱动程序系列的许多现有应用程序都有升级到 3.0 驱动程序的途径。驱动程序作者(我是其中之一)试图通过弃用返回 DB 类实例的 MongoClient.getDB 方法来明确这一点,以鼓励使用返回实例的新 MongoClient.getDatabase 方法MongoDatabase.

    【讨论】:

    • 谢谢!这是我一直在寻找的答案。所以这也意味着诸如 update(...) 之类的方法不再可用?我问这个是因为我的其他问题之一是关于“$upsert”选项的明显不可用。我仍然认为我一定是错的;仍然必须有一种方法可以使用 3.0 进行 upsert。
    • 也应该弃用 DBObject/DBCollection/DB 类
    • @dexter Upsert 现在可以通过将UpdateOptions 实例传递给MongoCollection.update() 来完成。 UpdateOptions 有一个 upsert(boolean) 方法。
    • 即使在最新的 mongo 驱动程序中,诸如 MongoOperations 之类的类仍然使用 DBCollection 而不是 MongoCollection,并且没有文档说明如果要将应用程序迁移到 MongoCollection 可以使用哪些其他类。
    • 超级混乱。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-14
    • 1970-01-01
    • 2021-11-24
    • 2012-09-12
    相关资源
    最近更新 更多