我正在使用Mongodb 3.0,我希望以特定格式使用Thu 10-Nov-2016
,例如collection.aggregate([
{
$group: {
_id: {
month: { $month: "$onDate" },
day: { $dayOfMonth: "$onDate" },
year: { $year: "$onDate" }
},
totalSearch: { $sum: 1 }
}
},
{ $limit: 10 },
{ $sort: { '_id.year': -1,'_id.month': -1,'_id.day': -1 } },
//***Here i am want to use $dateToString with $project corresponding to $group._id****////
{ $project: { $dateToString: { format: 'xxxxxxxx', date: xxxxxxxxx } } }
],
function(err, dayWise) {
if (err)
cb(err);
console.log('dayWises',dayWise);
cb(null, dayWise);
}
)
。这是我的代码
<script>
var toggle = true;
function imagesToggle(){
var images = document.getElementsByTagName('img');
if(toggle == true){
for(var i = 0; i < images.length; i++) {
images[i].style.display="none";
}
toggle = false;
}
else{
for(var i = 0; i < images.length; i++) {
images[i].style.display="block";
}
toggle = true;
}
}
</script>
答案 0 :(得分:1)
您可以在项目阶段添加$ concat,以便从组ID日期值中获取日期字符串,以格式化日期字符串。
{
$project: {
'value': {
'$concat': [{
$substr: ["$_id.year", 0, -1]
},
"-", {
$substr: ["$_id.month", 0, -1]
},
"-", {
$substr: ["$_id.day", 0, -1]
}
]
}
}
}
或者,您可以在组管道中应用$ dateToString以及其他值作为id。
{
$group: {
_id: {
month: {
$month: "$onDate"
},
day: {
$dayOfMonth: "$onDate"
},
year: {
$year: "$onDate"
},
formattedDateString: {
$dateToString: {
format: "%Y-%m-%d",
date: '$onDate'
}
}
},
totalSearch: {
$sum: 1
}
}
答案 1 :(得分:0)
我认为你无法获得你指定的格式,而是你可以得到“2014-01-01”这种格式,首先你没有在你的小组阶段ISO中通过日期来使用dateTostring,检查这个
collection.aggregate([{
$group: {
_id: { month: { $month: "$onDate" }, day: { $dayOfMonth: "$onDate" }, year: { $year: "$onDate" } },date : {"$first":"$onDate"}
totalSearch: { $sum: 1 }
},
},
{ $limit: 10 },
{ $sort: { '_id.year': -1,'_id.month': -1,'_id.day': -1 } },
{$project:{$dateToString:{format:"%Y-%m-%d",date: $onDate}}
}
],
function(err, dayWise) {
if (err)
cb(err);
console.log('dayWises',dayWise);
cb(null, dayWise);
})