聚合嵌入时如何将父字段包含到$ project中

时间:2014-09-28 21:45:24

标签: mongodb

我有以下结构:

var UserSchema = new Schema({
name: String,
email: { type: String, lowercase: true },
offers: [],

});

var OfferSchema = new Schema({
dateFrom: Date,
dateTill: Date,
destination: String,
budget: String,
currency: {},
dateCreated: {type: Date, default: Date.now}

});

我制作了一个聚合:

            User.aggregate(
            { $project: {"offers": 1, _id: 0}},
            { $unwind: "$offers" },
            { $sort: {"offers.dateCreated": -1} },
            function (err, result) {
                if (!err) {

            }
        );

结果还可以,但我希望每个元素都包含其父字段(例如:_id和其他字段)。 我该怎么办?

1 个答案:

答案 0 :(得分:0)

只需删除 $ project 阶段:

User.aggregate(
        { $unwind: "$offers" },
        { $sort: {"offers.dateCreated": -1} },
        function (err, result) {
            if (!err) {

        }
    );