我有Users收藏。devices都在对象数组中。
[{
"_id" : ObjectId("5c66a979e109fe0f537c7e37"),
"devices": [{
"dev_token" : "XXXX",
"_id" : ObjectId("5ccc0fa5f7778412173d22bf")
}]
},{
"_id" : ObjectId("5c66b6382b18fc4ff0276dcc"),
"devices": [{
"dev_token" : "XXXX",
"_id" : ObjectId("5c93316cc33c622bdcfaa4be")
}]
}]
Run Code Online (Sandbox Code Playgroud)
我需要通过添加新字段来查询文档 ,date例如devices
"devices": [{
"dev_token" : "XXXX",
"_id" : ObjectId("5c93316cc33c622bdcfaa4be"),
"date": ISODate("2012-10-15T21:26:17Z")
}]
Run Code Online (Sandbox Code Playgroud)
date钥匙来自 devices._id.getTimestamp()
我尝试使用聚合这个,不知道如何使用getTimestamp()
db.getCollection('users').aggregate([ {
"$unwind": "$devices"
}, {
"$group": {
"_id": "$_id",
"devices": {
"$push": "$devices._id.getTimestamp()"
}
}
}])
Run Code Online (Sandbox Code Playgroud)
我使用$devices._id.getTimestamp(),这可能是错误..这是我如何处理这个问题..提前感谢