【发布时间】:2017-05-08 07:26:08
【问题描述】:
我正在开发一个将文档插入 mongoDB 集合的 nodeJS 应用程序。该文档有一个 createdAt 字段,用于记录创建时间。我还有一个函数可以将查询的最新匹配记录到控制台。
代码:
function getResult(player){
let timeList = [];
MongoClient.connect(url, (err, db) => {
if(err){
console.log(err);
}
else{
let count = db.collection('PokeBook').count({ 'player1': player }); //count function returns a promise
count.then((val) => {
db.collection('PokeBook').find({ 'player1': player }).forEach((doc) => {
timeList.push(doc.createdAt);
console.log(doc.createdAt);
if(val===timeList.length){
myEmitter.emit('full', timeList);
}
});
});
}
});
}
//code for the emitter:
myEmitter.on('full', (arr) => {
console.log('full emitted');
console.log(moment.max(arr));
});
代码返回一个错误,指出 moment[i].isValid 不是函数。注释 moment.max 代码行会成功将“full emit”记录到控制台。
任何关于为什么会发生这种情况以及如何解决这个问题的建议将不胜感激。 :)
【问题讨论】: