我有一个包含以下文件的产品系列:
{ "_id" : 1, "item" : "abc", created: ISODate("2014-10-01T08:12:00Z") }
{ "_id" : 2, "item" : "jkl", created: ISODate("2014-10-02T09:13:00Z") }
{ "_id" : 3, "item" : "hjk", created: ISODate("2014-10-02T09:18:00Z") }
{ "_id" : 4, "item" : "sdf", created: ISODate("2014-10-07T09:14:00Z") }
{ "_id" : 5, "item" : "xyz", created: ISODate("2014-10-15T09:15:00Z") }
{ "_id" : 6, "item" : "iop", created: ISODate("2014-10-16T09:15:00Z") }
Run Code Online (Sandbox Code Playgroud)
我想绘制一个描述产品数量的图表,所以我使用mongodb聚合框架按天计算产品组:
var proj1 = {
"$project": {
"created": 1,
"_id": 0,
"h": {"$hour": "$created"},
"m": {"$minute": "$created"},
"s": {"$second": …Run Code Online (Sandbox Code Playgroud) 我在将mongodb数据放入nodejs数组时遇到问题,如下所示:
测试数据库:
{
"supportTicket" : "viT8B4KsRI7cJF2P2TS7Pd0mfqaI5rtwf",
"msgId" : 1379304604708.0,
"username" : "Guest-OSsL2R",
"message" : "hello",
"_id" : ObjectId("5236849c3651b78416000001")
}
Run Code Online (Sandbox Code Playgroud)
Nodejs:
function _getMsg(st, callback) {
db.test.find({ supportTicket: st }).toArray(function (err, docs) {
callback(docs);
});
}
var nodeArr = _getMsg('viT8B4KsRI7cJF2P2TS7Pd0mfqaI5rtwf', function (res) {
console.log(res); // --> res contain data and printed ok
return res;
});
console.log('return data: ' + nodeArr ) // --> However, nodeArr is undefined.
Run Code Online (Sandbox Code Playgroud)
结果如下:
return data: undefined
return data: undefined
[ { supportTicket: 'viT8B4KsRI7cJF2P2TS7Pd0mfqaI5rtwf',
msgId: 1379304604708,
username: 'Guest-OSsL2R', …Run Code Online (Sandbox Code Playgroud)