mongodb - 如何在猫鼬中使用 $dateToString
问题描述
我在 mongoDB 中有这个聚合。
db.collection.aggregate([
{
"$group": {
"_id": {
"$dateToString": {
"format": "%Y-%m-%d",
"date": {
"$add": [
"$timestamp",
18000000
]
}
}
},
"list": {
"$addToSet": "$timestamp"
}
}
}
])
但是当我将此聚合与猫鼬一起使用时,它会显示此错误。
{
"ok": 0,
"errmsg": "unknown group operator '$dateToString'",
"code": 15952,
"codeName": "Location15952",
"name": "MongoError"
}
我按照这个链接搜索了 mongoose 中没有 $dateToString 。
https://mongoosejs.com/docs/api/aggregate.html
如何为猫鼬修改我的 mongoDB agrregate?非常感谢您阅读它。
解决方案
几个问题:
- 错误不是来自猫鼬,而是来自 MongoDB 本身
$dateToString
先取日期,再取格式$dateToString
仅适用于 MongoDB v3.0(您是否正在运行 MongoDB >= v3.0?)$dateToString
在操作员内部不可用$group _id
(从技术上讲,它应该是,错误消息说它不是)
$project
在舞台之前添加一个舞台$group
并在那里添加日期转换。然后您可以按您在 中介绍的新领域进行分组$project
。
推荐阅读
- python - DateTimeInput() 小部件在日期和时间之间放置一个随机 T,导致 ValidationError
- ruby-on-rails - 如果哈希值是字符串,Ruby/Rails 返回哈希元素
- php - 无法向数据库插入数据 | 致命错误:未捕获的 PDOException:SQLSTATE [42000]:语法错误或访问冲突:1064
- visual-studio-code - Why does debugging with lldb in VSCode garble chinese characters?
- java - How can I draw over a GridPane of Rectangles with an Image? (JavaFX)
- asp.net - Module with shared state
- python - 如何删除嵌套在其他双引号正则表达式中的双引号
- git - How do I clone only a subdirectory of a Git repo?
- python - 如何去元组 *args
- r - R - GGplot2 Barplot - Fixing colors of color palette to same values over multiple plots