猫鼬模式 + nodejs

Posted

技术标签:

【中文标题】猫鼬模式 + nodejs【英文标题】:Mongoose schema + nodejs 【发布时间】:2020-09-18 16:19:16 【问题描述】:

我是 mongodb 的新手,我遇到了麻烦 我无法从我的 mongo 数据库中获取数据

const mongoose = require('mongoose');

const Team = new mongoose.Schema(
    name: String,
);

const MatchsSchema = new mongoose.Schema(
    begin_at: Date,
    number_of_games: Number,
    name: String,
    tournament: 
        name: String,
    ,
    opponents: 
        type: [Team],
        default: undefined
    ,
);

const Matchs = mongoose.model('matchs', MatchsSchema);

module.exports = Matchs;

我正在尝试使用此代码进行访问,女巫返回我的“数据”:

console.log(element.opponents[0]);

data returned

但是当我想用 .name 访问时,值是未定义的

console.log(element.opponents[0].name);

数据库架构:db

我的数据库中有一个名为“teams”的集合。 有什么问题?我想我没那么远......

【问题讨论】:

【参考方案1】:

这可能是一个忽略,但尝试...

console.log(element.opponents[0].opponent.name);

【讨论】:

element.opponents[0].opponent 已经把我送回 undefined 所以这也不起作用。感谢回复 您的描述中console.log(element.opponents[0])提供的图像有一个名为opponent的字段,其中包含一个字段名为name的对象... 我尝试了一些新的东西并且成功了,那就是关于“团队”的架构 您是否为您的Team 定义使用了interface【参考方案2】:

db answer

我的架构不正确,修改后效果很好

【讨论】:

以上是关于猫鼬模式 + nodejs的主要内容,如果未能解决你的问题,请参考以下文章

如何在猫鼬模式验证器中获取猫鼬会话

没有模式的猫鼬

文章的猫鼬模式

猫鼬模式创建

使用猫鼬和打字稿创建模式

使用猫鼬和打字稿创建模式