繁体   English   中英

嵌套文档上的 Document.get 返回未定义

Document.get on nested document returns undefined

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

当我在嵌套文档上使用 Document.get 时,它返回未定义,而当我使用 Document.get 和完整路径时,它可以工作

例子:

const PostsSchema = new mongoose.Schema({
    author: {
        name: String
    }
});

const Posts = mongoose.model('posts', PostsSchema);

const doc = new Posts({
    author: {
        name: 'Harry'
    }
});

console.log(doc.get('author.name'));
// "Harry"
console.log(doc.author.get('name'));
// undefined
1 个回复

我相信您提出的两种方式之间的区别与官方文档中解释的子文档和嵌套路径之间的区别有关: 子文档与嵌套路径

与给出的示例相比,'author' 不是 'Posts' 的子文档,它是 Schema 中定义的属性,因此,官方文档Document.prototype.get()中给出的正确语法是通过作为字符串的路径(作为您键入的第一种方式):

doc.get(path,[type],[options])
  • 路径«字符串»
  • [type] «Schema|String|Number|Buffer|*» 可选择指定动态属性的类型
  • [选项] «对象»
  • [options.virtuals=false] «Boolean» 在获取此路径之前应用虚拟
  • [options.getters=true] «Boolean» 如果为 false,则跳过应用 getters 并获取原始值
2 Javascript与孩子jquery document.get

这与jquery等效吗?如何使用子项来缩短它(在jquery和javascript中都是这样,因为我很好奇为什么我的代码不起作用)? 我实际上尝试过孩子,但没有得到想要的结果。 提前致谢 ...

3 document.get /内部HTML Javascript问题

我在弄清楚如何使innerHTML / GetElement代码行正常工作时遇到了一些问题。 我尝试了所有其他命令,例如document.write和alert ,它们似乎都可以正常工作。 我不知道如何构造document.get以包括getRandomArrayElements函数。 我 ...

10 Qunit测试失败,因为document.get *在测试html页面上不起作用。

我刚刚开始使用JS单元测试,并正在尝试qUnit。 当我的JS执行时(通过它的init()函数),它会从页面中获取JS正常运行所需的一些节点。 目前,我的qUnit测试在启动之前就失败了,因为它在测试html文件中找不到那些节点。 我根本不在我的JS中使用jQuery(没有框架 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM