猫鼬:如何检索集合中每只小猫的名字?

时间:2016-10-26 15:14:58

标签: node.js mongodb mongoose

我有以下代码,基于Mongoose Docs的快速入门。

var mongoose = require('mongoose');

mongoose.connect('mongodb://localhost/test');

var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function() {
    var kittySchema = mongoose.Schema({
        name: String
    });

var kitten = mongoose.model('kitten', kittySchema);

kitten.find(function(err, kittens) {

    if(err) 
      return console.error(err);

    console.log(kittens[0].name);
});


});

我想要做的是记录数据库中每只小猫的名字。 上面的示例使用kittens[0].name返回数组中第一只小猫的名称,但是当我尝试执行以下操作时:

for(var i in kittens){
  console.log(kittens[i].name);
}

它会为数据库中的每个项目返回undefined

我尝试将i变量转换为数字,因为它是一个字符串,但没有运气。

如何检索.find()附带的每个项目的属性名称?

1 个答案:

答案 0 :(得分:0)

为什么不尝试这个:

for(var i=0; i<kittens.length; i++){
  console.log(kittens[i].name);
}

因为,find返回一个数组,即kittenskittens.length将提供length数组的kittens

希望它有所帮助。