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

时间:2018-04-05 08:29:01

标签: mongodb mongoexport

您好我正在尝试找到一种方法来保持内部数组中的对象顺序,同时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
    }
})

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

我正在玩这个查询,但无法实现。

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

谢谢!

1 个答案:

答案 0 :(得分:1)

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

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