database - 如何将值推送到另一个对象或合并对象?
问题描述
假设您在我的收藏中有以下文档:
{
"_id": ObjectId("5c7e3982a50f3b32d2668112"),
"cat_id": 1,
"cat_code": "YMN",
"overall": {
"temp_price": NumberInt(500),
},
"date_wise": [{
"last_inserted_id": "11",
"created_at": "2018-07-26",
"overall": {
"temp_fee": NumberInt(20),
// .....
},
}, {
"last_inserted_id": NumberInt(50),
"created_at": "2018-08-01",
"overall": {
"temp_fee": NumberInt(100),
// .....
},
"data": []
}, {
"last_inserted_id": "28",
"created_at": "2018-08-02",
"overall": {
"temp_fee": NumberInt(22),
// .....
},
}
// .....
]
}
我想要这样的输出:
{
"_id": {
"created_at": "2018-07-26",
"temp_fee": NumberInt(20),
},
"_id": {
"created_at": "2018-08-01",
"temp_fee": NumberInt(100),
},
"_id": {
"created_at": "2018-08-02",
"temp_fee": NumberInt(22),
}
}
我不是 MongoDB 的专业人士,仍处于学习阶段。所以我的努力如下。
db.collection.aggregate([
{$match : {'cat_code': 'YMN'}},
{ $project: {overall1: "$date_wise.overall"}},
{ $group: { _id: '$overall1'}},
{'$unwind':'$_id'},
{'$skip':0},
{'$limit':10},
{'$sort': {'_id.created_at' : 1}}
]);
我正在尝试合并overall
ie的单个值created_at
和overall
内部date_wise
键的数据。申请排序,跳过和限制它。
解决方案
推荐阅读
- reactjs - 如何解决意外的 antd datepicker 行为
- javascript - 使用 ytdl-core 下载视频,让客户端同时下载
- bash - Bash For-Loop:如何比较不同索引处的两个数组项?
- svelte - 如何一键关闭 DaisyUI 抽屉菜单?
- android - 有没有一种方法可以让我们知道 BLE 设备是否在实际连接之前尝试连接到我?
- javascript - HTML 事件给出 'Uncaught TypeError: X is not a function'
- apache-spark - Pyspark:使用 udf 多次加载模型
- python - 从存储在 .txt 文件中的 url 下载图像?
- magento - 如何在 Magento 2 for Android 应用程序中获取客户设备令牌以便在客户设备上发送通知
- python - Pymongo 缓慢,日期聚合