现在我注意到一件事,这对我来说很奇怪,我找不到合适的文档。当我使用Mongoose.find()从集合中获取文档时,我将它们记录到控制台。什么是写的是:Javascript中逗号分隔的对象是什么?
{
name: 'first document'
},{
name: 'second document'
}
(当然他们_id的,但是这是为了简单起见。)
这是什么东西在Javascript?我的意思是,我试图做.forEach就可以了,但我得到:
TypeError: undefined is not a function
at Array.forEach (native)
...
,但是,我可以正常做这样的事情:
User.find({}, function (err, users){
// users.forEach(console.log('iterated')); -> returns error that I've described
for(var i=0; i<users.length; i++){
console.log('iterated');
}
console.log('users' + users);
});
编辑
错误类型是因为没有将功能传递给forEach
方法,正如评论中所述。但是,为什么不回这样的:
[{
name: 'first document'
},{
name: 'second document'
}}
你不能传递一个函数'的forEach()'。你传递'undefined',因为这是'console.log()'返回的。 – 2014-09-12 13:38:06
他们是否在对象内部或外部有'_id'?它是一个JSON字符串吗? – krillgar 2014-09-12 13:38:08
不要混淆“什么是登录到控制台”是“JavaScript代码” – Quentin 2014-09-12 13:39:53