现在我注意到一件事,这对我来说很奇怪,我找不到合适的文档。当我使用 Mongoose.find() 从集合中获取文档时,我将它们记录到控制台。写的是:
{
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
方法:
users.forEach(function(v, i){
console.log('User name = ' + v.name);
});
当你没有将 console.log('iterated')
包装在函数中时,它会首先调用 log
方法并使用返回值发送到forEach
方法。
关于javascript - JavaScript 中逗号分隔的对象是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25809616/