当前位置: 首页 > 面试题库 >

无法访问猫鼬响应的对象属性

杜高谊
2023-03-14
问题内容

我在node.js上运行此代码

var mongoose = require('mongoose');
mongoose.model('participant',new mongoose.Schema({},{ collection : 'forumParticipant' }));
var Participant = mongoose.model('participant');
mongoose.connect('******');

Participant.find({entity_id: 0}, function (err, docs) {
   console.log(docs[0]);
   console.log(docs[0].entity_id)
});

1)第一个console.log返回完整文档

2)第二个console.log返回未定义

我不明白为什么。

我需要执行类似

var participants = docs.map(function(d){return d.user_id})

我该如何实现?我想念什么?


问题答案:

我怀疑您要获取的值不在您的中,Schema而是存储在数据库中。

您有两种解决方案。您可以将其添加entity_id到您的Schema文档中,然后Mongo可以将其绑定到Document您收到的对象。这是推荐的方法。

或者,您可以绕过猫鼬,Schema并使用访问存储在数据库中的原始文档docs[0]._doc.entity_id。除非您知道自己在做什么,否则我不建议您使用此解决方案。



 类似资料:
  • UPD。用一行代码解决的问题:. lean()axplation在这里 我有这个数组的菜单项后Model.find(... blablabla:

  • 问题内容: 首先看下面的JavaScript对象 我想将值设置为与相同,因此我将对象值放在前面,但它对我不起作用,我也使用过,但仍然失败。我的问题是如何访问对象内对象的属性。 一些用户沉迷于问“您想做什么或发送脚本等”,对于那些人来说,答案很简单:“我想访问对象内的对象属性”,上面提到了脚本。 任何帮助将不胜感激 :) 问题答案: 使用 对象文字 语法时,不能在初始化期间引用对象。创建对象后,需要

  • 问题内容: 假设我有一个带有某些属性的类。如何最好地(在Pythonic- OOP中)访问这些属性?就像吗?还是写get访问器?这些东西可接受的命名方式是什么? 编辑: 您能否详细说明使用单引号或双引号下划线命名属性的最佳做法?我在大多数模块中看到使用单个下划线。 如果已经问过这个问题(虽然搜索没有带来结果,但我有一个直觉,请指出)-我将结束这个问题。 问题答案: 通常公认的做事方式只是使用简单的

  • 问题内容: 当用户向我的API注册时,他们将返回一个用户对象。在返回对象之前,我删除了散列的密码和salt属性。我必须用 因为当我尝试 对象属性仍然存在并返回。 这是为什么? 问题答案: 要使用它,您需要通过调用将模型文档转换为普通的JavaScript对象,以便您可以自由地操作它:

  • 问题内容: 我在这里看到了很多关于这个问题的答案,但是我还是不明白(也许是因为他们使用了更多“复杂”的例子)……所以我试图做的是为“客户”建立一个模式将具有两个具有嵌套“子字段”的字段,其他字段可能重复。这是我的意思: 电话 和 电子邮件 可能是一个数组。和地址将不会重复,但是您会看到一些子字段。 我该如何工作? 问题答案:

  • 在开发API时,我经常需要在mongoDb查询结果中设置额外的属性。但是我不能以一种好的方式去做。例如 模型 查询 在这里,在我从mongoDb获得结果之后,我想将breed属性设置为result,但是我不能这样做,因为该属性没有在模式中定义 所以为了设置一个额外的属性,我使用了hack 我不认为这是一个很好的编码方式。请给一个更好的设置属性的方法,并解释黑客是如何工作的。