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
中的顺序,因为它存储在原始文档中。
您好,我正在尝试找到一种方法来在 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
中的顺序,因为它存储在原始文档中。