Мой сценарий оболочки Mongo:
db.getCollection('order').aggregate([
{ $match: { clientId: "[email protected]" } },
{ $lookup: { from: 'ordereddevice', localField: 'id', foreignField: 'order', as: 'orderedDevices' } }
])
Я использую вот что:
MongoClientURI connectionString = new MongoClientURI("mongodb://localhost:27017");
MongoClient mongoClient = new MongoClient(connectionString);
MongoDatabase database = mongoClient.getDatabase("db_name");
MongoCollection < Document > collection = database.getCollection("order");
List < Document > pipeline = Arrays.asList(new Document().append("$match", new Document().append("clientId", "[email protected]")), new Document().append("$lookup", new Document().append("from", "ordereddevice").append("localField", "id").append("foreignField", "order").append("as", "orderedDevices")));
Block < Document > printBlock = new Block < Document > () {
@Override public void apply(final Document document) {
System.out.println(document.get("_id"));
}
};
collection.aggregate(pipeline).forEach(printBlock);
Но он повторно подключит MongoDB, поэтому я ищу способ использовать MongoTemplate для этого.
mongoTemplate
или есть конкретная проблема? - person prasad_   schedule 21.01.2020