如何从猫鼬查询回调中访问特定值?

罗兰

首先介绍一下情况。我有一个充满文档的MongoDB集合。我使用schema.statics查询特定行

TweetSchema.statics.maxAndLimit = function(screen_name, cb) {
  this.find({
    'user.screen_name': screen_name
  }).sort({'id_str':1}).select({'id_str':1,'user.statuses_count':1,'user.screen_name':1,'_id':0}).limit(1).exec(cb);
};

查询完成后,它将调用回调(cb)。

在回调中,我想将值绑定到变量,以便以后使用。这是我似乎无法解决的问题:

console.log(result) == [{id_str:'12346875',user:{statuses_count:500,screen_name:'username'}}]

console.log(result.id_str) == 'undefined'

同样适用于:

console.log(result[0].id_str)

为什么无法获得特定值?typeof(结果)说“对象”。

每个请求更新我的非严格模式导致Mongoose返回一个非真实的javascript对象。因此,为将来参考,以下是我使用的“模式”:

var TweetSchema = new Schema({}, {strict: false});

我不想定义所有内容,因为它是Twitter时间轴对象,因此并不总是相同的。

马蒂亚斯·法尼米(Mattias Farnemyhr)

当您使用未定义的架构时,无法像真正的javascript对象一样处理find的json输出。使用toObject()进行转换,您将可以像使用任何其他对象一样使用它,您可以在这里看到区别:

var Model = mongoose.model('Model', new mongoose.Schema({}))
Model.find({user_id: '1234'}, function(err, obj) {   
    console.log(obj[0].user_id)  // undefined                   
    console.log(obj[0].toObject().user_id)  // 1234     
})

要么:

var Model = mongoose.model('Model', new mongoose.Schema({
    user_id: String,
}))
Model.find({user_id: '1234'}, function(err, obj) {                      
    console.log(obj[0].user_id)  // 1234          
    console.log(obj[0].toObject().user_id)  // 1234
})

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

猫鼬查询中的回调数据

来自分类Dev

在NodeJS cronjob中未调用猫鼬查询回调

来自分类Dev

猫鼬查询在回调后挂起

来自分类Dev

如何从猫鼬mongodb查询中获取字段的值?

来自分类Dev

如何从猫鼬mongodb查询中获取字段的值?

来自分类Dev

猫鼬从withTransaction回调返回值

来自分类Dev

猫鼬如何在exec回调函数中传递额外的参数

来自分类Dev

如何从猫鼬查询返回值

来自分类Dev

如何查询猫鼬的返回值

来自分类Dev

猫鼬:如何捕获由异步回调引起的MongoError

来自分类Dev

猫鼬-向回调中返回的对象添加方法

来自分类Dev

导出在异步回调中可用的猫鼬连接?

来自分类Dev

更新数组猫鼬中的特定值

来自分类Dev

匹配猫鼬填充中的特定值

来自分类Dev

如何访问猫鼬中的对象属性?

来自分类Dev

在另一个函数中创建猫鼬连接时不调用查询回调

来自分类Dev

访问猫鼬查询结果

来自分类Dev

如何更新猫鼬中的特定字段?

来自分类Dev

无法在我的node.js猫鼬模型(仅对象)中访问特定值

来自分类Dev

Node.js猫鼬回调

来自分类Dev

猫鼬回调无法使用永远

来自分类Dev

猫鼬人口-回调与执行

来自分类Dev

如何更新猫鼬文档中的值?

来自分类Dev

如何从猫鼬中检索对象值

来自分类Dev

在猫鼬预中间件中,我如何访问更新查询?

来自分类Dev

如何在猫鼬中查询findOne(),以便获得满足特定条件的文档数组子集?

来自分类Dev

如何使用猫鼬中的聚合查询过滤$ match等于对象值

来自分类Dev

如何使用猫鼬中的值数组查询一组对象?

来自分类Dev

查询父级时如何获取猫鼬子文档数组中的聚合值总和?

Related 相关文章

热门标签

归档