mongodb java驱动程序。如何通过引用返回对象

mongodb java驱动程序。如何通过引用返回对象,java,mongodb,aggregation-framework,Java,Mongodb,Aggregation Framework,例如,我收集了两种动物和食物。 在采集动物时,有一个野外食物,是指未嵌入的采集食物。 Im使用mongo java驱动程序: DBCollection collection = db.getCollection("animals"); DBObject fields = new BasicDBObject("name", 1); fields.put("food", 1); fields.put("_id", 0); DBObject project =

例如,我收集了两种动物和食物。 在采集动物时,有一个野外食物,是指未嵌入的采集食物。 Im使用mongo java驱动程序:

    DBCollection collection = db.getCollection("animals");
    DBObject fields = new BasicDBObject("name", 1);
    fields.put("food", 1);
    fields.put("_id", 0);
    DBObject project = new BasicDBObject("$project", fields );
    collection.aggregate(project);
它返回对象食物的名称和Id。
那么,什么才是获得食物的正确方法呢

简单的回答是,您不能在MongoDB中自动完成这类工作。它没有“连接”的概念。您只需进行单独的查询

本节内容应有助于澄清

要解析DBREF,应用程序必须执行其他查询以返回引用的文档。许多驱动程序都有自动形成DBRef查询的助手方法。驱动程序[1]不会自动将DBREF解析为文档。 DBREF提供了一种通用格式和类型来表示文档之间的关系。如果数据库必须与多个框架和工具交互,DBRef格式还提供了表示文档之间链接的通用语义


通常情况下,最好将内容存储为嵌入式文档,尤其是如果您需要经常“手动加入”这些文档。这取决于您的数据以及您需要如何查询它。YMMV

我不知道你在这里想做什么。再解释一遍。谢谢