Morphia / MongoDb,使用和FindAndModify索引()

时间:2017-06-19 17:44:43

标签: mongodb indexing morphia findandmodify

我目前正在重构一些mongo查询代码,以摆脱Morphia 1.3中弃用的方法。尝试使用索引运行查找和修改查询时遇到问题。目前,我们的遗留代码是以这种方式在查询上设置索引: ds.createQuery(Entity.class).hintIndex("index")

我已删除它以与morphia 1.3一致,现在代码看起来像这样: new FindOptions.modifier("$hint", "index"); return query.asList(findOptions);

因此,在实际运行之前,我们不会在查询上设置索引。这样可以获得查询,对于upsert来说则更少。 要替换已弃用的findAndModify:findAndModify(Query<T> query, UpdateOperations<T> operations, boolean oldVersion, boolean createIfMissing),morphia要求使用findAndModify(Query, UpdateOperations, FindAndModifyOptions)

在这种情况下,我希望在FindAndModifyOptions对象中有一个修饰符方法,以便在运行查询时能够设置索引。我似乎无法做到这样的事情:

FindAndModifyOptions findOptions = new FindOptions();
findOptions.modifier("$hint", SUGGESTION_CONTENT_TYPE_INDEX_NAME);
return datastore.findAndModify(query, updateOperations, findAndModifyOptions);

有人可以建议如何传递索引吗?是否可以通过FindAndModifyOptions对象来实现?如果不是,那么为upsert查询设置索引的最佳方法是什么

0 个答案:

没有答案