Mongodb 使用morphia在mongo db中仅选择一列

Mongodb 使用morphia在mongo db中仅选择一列,mongodb,mongodb-query,morphia,mongodb-java,Mongodb,Mongodb Query,Morphia,Mongodb Java,我有两列字符串id、字符串名称和long age 正如我们在sql中所做的那样,从USERDETAILS中选择id,其中年龄>5将为我提供主键的arrayList,即“id” 谁能告诉我如何使用morphia对mongo db执行同样的操作 我尝试了query.retrieveFields(true,“id”).get() 但它返回一个USERDETAILS模型作为回报,我只需要一个id数组。我该怎么做呢?请帮助你要用morphia取回你的模型课。它就是这样做的。如果需要原始ID列表,则需要直接

我有两列字符串id、字符串名称和long age

正如我们在sql中所做的那样,从USERDETAILS中选择id,其中年龄>5将为我提供主键的arrayList,即“id”

谁能告诉我如何使用morphia对mongo db执行同样的操作

我尝试了
query.retrieveFields(true,“id”).get()


但它返回一个USERDETAILS模型作为回报,我只需要一个id数组。我该怎么做呢?请帮助

你要用morphia取回你的模型课。它就是这样做的。如果需要原始ID列表,则需要直接使用驱动程序。

使用project


Query Query=createQuery();query.project(“字段名whichisalonerequired”,true);返回query.asList()

使用morphia检查此处,查询始终返回您的模型类。在您的情况下,名称和年龄字段将为空/空。因此,您可以在java应用程序中对列表和ID进行迭代。是的,我使用了迭代方法,但它们存在一些性能问题。有没有避免迭代的方法?好吧,您可以直接使用java驱动程序,但是您必须在
列表中转换
DBCursor