Агрегация с $lookup
и последующим $group
довольно громоздка, поэтому, если (и это среда, если), вы используете node & amp; Mongoose или вспомогательную библиотеку с некоторыми подсказками в схеме, вы можете использовать .populate()
для извлечения этих документов:
var mongoose = require("mongoose"),
Schema = mongoose.Schema;
var productSchema = Schema({ ... });
var orderSchema = Schema({
_id : Number,
products: [ { type: Schema.Types.ObjectId, ref: "Product" } ]
});
var Product = mongoose.model("Product", productSchema);
var Order = mongoose.model("Order", orderSchema);
...
Order
.find(...)
.populate("products")
...