0
我正在使用nodejs和MongoDB获取数据。我在MongoDB中有对象。现在我正在使用明智的日期获取数据,而我的日期时间字段是时间戳。我想使用MongoDB从开始日期到结束日期获取数据。 必须imp注意我想打印日期在我预期的操作。 我在这里,这是我的目标=>使用nodejs和mogodb获取像“date is not defind”这样的错误? datetime存储作为db中的时间戳
{
"_id" : ObjectId("595be16ee04602135828e25c"),
"Action" : "Comment",
"datetime" : 1507099928000 // 4th oct 2017 convert date just for info here write
},
{
"_id" : ObjectId("595be16ee04602135828e25c"),
"Action" : "Comment",
"datetime" : 1508139441716 // 16th oct 2017 convert date just for info here write
}
{
"_id" : ObjectId("595be16ee04602135828e25c"),
"Action" : "Comment",
"datetime" : 1508139441716 // 16th oct 2017 convert date just for info here write
}
{
"_id" : ObjectId("595be16ee04602135828e25c"),
"Action" : "Like",
"datetime" : 1508139441716 // 16th oct 2017 convert date just for info here write
},
这是我的查询=>
InstaAc.aggregate([
{
"$match": {
"_id": ObjectId("595be16ee04602135828e25c"),
"datetime": {
"$lte": 1508141028150, "$gte": 1507622568000
}
},
"Action": {
$in: ["Comment", "Like"]
}
},
{
"$addFields": {
"datetime": {
"$add": [new Date(0), "$datetime"]
}
}
},
{
"$group": {
"_id": {
"$dateToString": {
"format": "%d-%m-%Y",
"date": "datetime"
}
},
"commentcount": { $sum: { $cond: [{ $eq: ["Action", "Comment"] }, 1, 0] } },
"likecount": { $sum: { $cond: [{ $eq: ["Action", "Like"] }, 1, 0] } },
}
},
{
"$sort": {
"_id": 1
}
}
]).exec(function (err, data) {
if (err) {
console.log(err);
}
else {
console.log(data);
}
})
这是我上面的查询,我得到一个错误这样的“日期没有定义 “ 请,任何人,知道如何解决此问题,那么请帮助我。
我的除外O/P =>
{ _id: '16-10-2017', commentcount: 2 ,likecount:1},
现在越来越喜欢这个错误“无法识别的管道艺名:‘$ addfields’” – Edit
@Edit什么版本蒙戈您使用的是? –
4.11.0使用.... – Edit