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

Morphia/MongoDb,与FindAndModify()一起使用和索引,mongodb,indexing,morphia,findandmodify,Mongodb,Indexing,Morphia,Findandmodify,我目前正在重构一些mongo查询代码,以摆脱Morphia 1.3中不推荐的方法。我在尝试使用索引运行查找和修改查询时遇到问题。目前,我们的遗留代码正在以这种方式设置查询索引: ds.createQuery(Entity.class).hintIndex(“索引”) 为了与morphia 1.3保持一致,我将其删除,代码现在看起来如下所示: newfindoptions.modifier(“$hint”,“index”); 返回query.asList(findOptions) 因此,在实际运行

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

为了与morphia 1.3保持一致,我将其删除,代码现在看起来如下所示:
newfindoptions.modifier(“$hint”,“index”);
返回query.asList(findOptions)

因此,在实际运行查询之前,我们不会对查询设置索引。这对于get查询来说很好,对于upsert查询则不太好。 要替换不推荐的findAndModify:
findAndModify(查询查询、更新操作、布尔旧版本、布尔createIfMissing)
,morphia要求使用
findAndModify(查询、更新操作、FindModifyOptions)

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

FindAndModifyOptions findOptions = new FindOptions();
findOptions.modifier("$hint", SUGGESTION_CONTENT_TYPE_INDEX_NAME);
return datastore.findAndModify(query, updateOperations, findAndModifyOptions);
有人能就如何通过该指数提出建议吗?是否可以通过FindAndModifyOptions对象执行此操作?如果不可以,为upsert查询设置索引的最佳方法是什么