mongoexport 保持内部数组字段中对象的顺序

mongoexport keep order of objects in inner array field

您好,我正在尝试找到一种方法来在 mongoexport 操作时保持内部数组中对象的顺序。我正在使用 mongodb 3.0.2.

这是架构;

mongoose.Schema({
    parity: {
        type: String
    },
    exchange: String,
    interval: String,
    dataSet: [{
        open: Number,
        high: Number,
        low: Number,
        close: Number,
        date: Date,
        btcVolume: Number,
        _id: false
    }],
    _id: {
        type: String
    }
})

所以,基本上我想根据 date 字段保持顺序 dataSet 数组。问题是 mongoexport 不保留顺序,即使在我拥有的每个文档中都订购了数据集。

我正在研究这个查询,但做不到。

> mongoexport -q '{ $query: {parity: "BTC-STRAT"}, $orderby: {"dataSet.date": -1} }' -d crypto -c stockentities --out strat.json

谢谢!

$orderby 不对数组中的项目进行排序。它对文档进行排序。在您的情况下,它从 dataSet 数组中为每个文档选择一个最新的 date 项目,并按此值按降序对文档进行排序。

mongoexport 保留元素在 dataSet 中的顺序,因为它存储在原始文档中。