我正在尝试生成聚合结果但重命名一些字段:
db.articles.aggregate([
{$match: {
"model.lang": "en"
}},
{$project: {
"_id": 0,
"model.title": 1,
"model.address_en": "$address",
"model.date": { $dateToString: { format: "%Y-%m-%d", date: "$date" } }
}}
]);
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,我正在尝试将"model.title"重命名为"title",将"model.address_en"重命名为"address",将"model.date"重命名为"date"..但没有太多运气:
{ "model" : { "date" : null } }
{ "model" : { "date" : null } }
{ "model" : { "date" : null } }
{ "model" : { "date" : null } }
{ "model" : { "date" : null } }
{ "model" : { "date" : null } }
{ "model" : { "date" : null } }
{ "model" : { "date" : null } }
{ "model" : { "date" : null } }
{ "model" : { "date" : null } }
{ "model" : { "date" : null } }
{ "model" : { "date" : null } }
{ "model" : { "date" : null } }
{ "model" : { "date" : null } }
{ "model" : { "date" : null } }
{ "model" : { "date" : null } }
{ "model" : { "date" : null } }
{ "model" : { "date" : null } }
{ "model" : { "date" : null } }
{ "model" : { "date" : null } }
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
zan*_*ngw 15
鉴于该文件 articles
{ "_id" : ObjectId("56cea763d43e3500f6768482"),
"name" : "aaa",
"model" : { "lang" : "en",
"title" : "b",
"date" : ISODate("2016-02-25T07:04:03.414Z")
},
}
Run Code Online (Sandbox Code Playgroud)
将"model.title"重命名为"title",将"model.address_en"重命名为"address",将"model.date"重命名为"date"
db.articles.aggregate([
{$match: {'model.lang': 'en'}},
{$project: {
_id: 0,
'title': '$model.title',
'date': {$dateToString: {format: '%Y-%m-%d',
date: '$model.date'}}}}])
Run Code Online (Sandbox Code Playgroud)
结果是
{ "date" : "2016-02-25", "title" : "b" }
{ "date" : "2016-02-25", "title" : "c" }
Run Code Online (Sandbox Code Playgroud)
小智 5
你可以用这个
db.articles.aggregate([
{
$match: {
"model.lang": "en"
}
},
{
$project: {
"_id": 0,
"title": "$model.title",
"address": "$model.address_en",
"date": {
$dateToString: {
format: "%Y-%m-%d", date: "$model.date"
}
}
}
}
]);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13988 次 |
| 最近记录: |