如何在java中使用$lookup stage和spring data mongodb?

lok*_*tha 4 java mongodb spring-data-mongodb

直到最新版本的 spring,我看到了很多堆栈溢出问题,这表明 spring-data-mongodb 中不支持此操作 新的 spring-data-mongodb 1.10.0 中是否支持此操作

db.orders.aggregate([
        {
          $lookup:
            {
              from: "inventory",
              localField: "item",
              foreignField: "sku",
              as: "inventory_docs"
            }
       }
    ])
Run Code Online (Sandbox Code Playgroud)

use*_*814 5

从 1.9 版本开始就支持查找。

LookupOperation lookupOperation = LookupOperation.newLookup().
                                   from("inventory").
                                   localField("item").
                                   foreignField("sku").
                                   as("inventory_docs");
Aggregation aggregation = Aggregation.newAggregation(lookupOperation);
List<BasicDBObject> results = mongoOperations.aggregate(aggregation, "orders", BasicDBObject.class).getMappedResults();
Run Code Online (Sandbox Code Playgroud)