无法使用下划线从mongodb中获取内容

时间:2014-11-26 21:20:32

标签: mongodb underscore.js

我试图从mongodb中获取/获取与tName相对应的值,但我得到了未定义的值。

var mongoose = require('mongoose');
var _ = require('underscore'); 
var colors = require('colors')

console.log( '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~'.white);
var db = mongoose.connection;
db.on('error', console.error);
db.once('open', function() {
  console.log(' db opened');
});

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

var trendSchema = mongoose.Schema({
    tName: String,
    tName_h: String,    
    region: String
  });




var Trend = mongoose.model('Trend', trendSchema);

Trend.find(function(err, trends) {
  if (err) return console.error(err);
  // console.dir(trends);
  console.log(' trends  ==', trends);
  var plucked =  _.pluck(trends, 'tName');
  console.log(' plucked -----> ', plucked);
}); 

这是它的输出:

plucked ----->  [ undefined,
  undefined,
  undefined,
  undefined,
  undefined,
  undefined,
  undefined,
  undefined,
  undefined,
  undefined ]

如果我用var plucked = _.pluck(trends,'__ id')替换tName;我得到了正确的结果。

示例:

var plucked = _.pluck(trends,'_ id'); console.log('get keys ='。red,plucked);

----输出----

get keys = [ 54763e406cfdacf577335e97,
  54763e406cfdacf577335e98,
  54763e406cfdacf577335e99,
  54763e406cfdacf577335e9d,
  54763e406cfdacf577335e9b,
  54763e406cfdacf577335e9c,
  54763e406cfdacf577335e9a,
  54763e406cfdacf577335e9e,
  54763e406cfdacf577335ea0,
  54763e406cfdacf577335e9f ]

但是对于密码:

var plucked = _.pluck(trends, 'tName');
console.log(' get keys ='.red, plucked);

输出:

get keys = [ '#5HSledgehammerSpy',
  '#MTVStars',
  'Anderlecht 1-0 Galatasaray',
  '#MilliLiderErdoğan',
  '#MalmoeJuve',
  'Basel 0-1 Real Madrid',
  '#AFCvBOR',
  'Ludogorets 1-2 Liverpool',
  'DoisMesesPerina',
  'Dimite Ana Mato' ]

0 个答案:

没有答案