不推荐使用Mongo Java Driver查找方法

时间:2013-10-09 05:52:21

标签: mongodb mongo-java

我想使用以下mongo java驱动程序的方法。\

db.<collection>.find(DBObject query,DBObject param,int skip,int batchSize,int option)

但是我发现这个方法已被弃用,所以还有什么可以使用,因为我有兴趣通过设置首选项来进行读取操作。

如果我使用以下内容:

List<ServerAddress> seeds = new ArrayList<ServerAddress>();
seeds .add(seed1);
seeds .add(seed2);

MongoClient test= new MongoClient(seeds);

以及稍后的时间点如果我

test.setReadPreference(preference);

是否会设置我的阅读偏好?

2 个答案:

答案 0 :(得分:2)

您可以在多个级别设置读取首选项:客户端,数据库,集合,最后是单个查询。

如果使用

在MongoClient上设置读取首选项
mongoClient.setReadPreference(secondary());

然后这是将用于所有查询的默认读取首选项,除非您另行定义。您需要确保在运行任何查询之前设置此,否则它将不会生效。

如果使用以下方法在集合上设置读取首选项:

collection.setReadPreference(primary());

这将覆盖您的MongoClient设置,并且在访问此集合时默认使用主要设置(请参阅this blog post以了解读取偏好如何在集合级别工作。

最后,您可以进一步覆盖某些单个查询的首选项,例如您发现的已弃用的方法。

答案 1 :(得分:1)

DBCursorskip()batchSize()setOptions()方法。您可以按如下方式使用它们:

db.<collection>find(DBObject query,DBObject param).skip(int skip).batchSize(int batchSize).setOptions(int options);