我需要创建一个mongodb查询以将数组转换为键值
我的文档是这样的:
{
"_id" : ObjectId("5c8718b9b5fe262104408374"),
"axis" : "x",
"message_time" : ISODate("2019-03-11T08:04:41.000Z"),
"x_axis" : [
0.9766,
1.9531,
2.9297,
3.9063,
4.8828,
5.8594,
6.8359,
7.8125,
8.7891,
],
"etl_date_time" : ISODate("2019-03-12T02:26:01.510Z")
}
我想将其转换为
{
"_id" : ObjectId("5c8718b9b5fe262104408374"),
"axis" : "x",
"message_time" : ISODate("2019-03-11T08:04:41.000Z"),
"x_axis" : 8.7891,
"etl_date_time" : ISODate("2019-03-12T02:26:01.510Z")
}
有人可以帮助我查询吗?
答案 0 :(得分:0)
您可以使用聚集框架来实现此目的。
db.collection.aggregate([
{
$addFields: {
x_axis: {
$arrayElemAt: [
{
$slice: [
"$x_axis",
-1
]
},
0
]
}
}
}
])
如果您需要对集合进行更新,则可以添加一个$out阶段