这是我的文件夹 struct :

+-- express_example
|---- app.js
|---- models
|-------- songs.js
|-------- albums.js
|---- and another files of expressjs

我在文件歌曲中的代码.js

var mongoose = require('mongoose')
, Schema = mongoose.Schema
, ObjectId = Schema.ObjectId;

var SongSchema = new Schema({
name: {type: String, default: 'songname'}
, link: {type: String, default: './data/train.mp3'}
, date: {type: Date, default: Date.now()}
, position: {type: Number, default: 0}
, weekOnChart: {type: Number, default: 0}
, listend: {type: Number, default: 0}
});

module.exports = mongoose.model('Song', SongSchema);

这是我在文件相册中的代码.js

var mongoose = require('mongoose')
, Schema = mongoose.Schema
, ObjectId = Schema.ObjectId;

var AlbumSchema = new Schema({
name: {type: String, default: 'songname'}
, thumbnail: {type:String, default: './images/U1.jpg'}
, date: {type: Date, default: Date.now()}
, songs: [SongSchema]
});

module.exports = mongoose.model('Album', AlbumSchema);


How can I make albums.js know SongSchema to be defined AlbumSchema

推荐答案

您可以直接使用Mongoose在其他地方定义模型:

require('mongoose').model(name_of_model)

在相册中获取示例中的模式.你可以这样做:

var SongSchema = require('mongoose').model('Song').schema

Node.js相关问答推荐

如何解决无法获得本地颁发者证书的问题

在我的Next.js应用程序中没有正确设置Process.env.NODE_ENV

如何使用MongoDB在Node.js 中向数组中添加项?

MongoDB上的updateOne和findOneAndUpdate在Node.js中无法正常工作

Gmail API获取附件PDF未正确呈现.我遗漏了什么?

如何在Angular jest测试中调用Nodejs的垃圾收集? node v20的测试速度慢且内存泄漏

获取驱动器文件夹的直接子文件夹时出现问题

FiRestore UPDATE方法引发错误:&Quot;错误:13内部:收到代码为1&Quot;的RST_STREAM

TS 后端开发:prismagenerate找不到已安装的@tsed/prisma包

使用 Google Drive API 按文件夹 ID 检索文件夹的内容

与诗乃一起嘲笑奈克斯

如何使用填充在mongoose 上保存新数据

强制 TypeScript 生成带有.js扩展名的导出/导入;运行 node 16?

无法通过谷歌Electron 表格 api( node js)中的服务帐户访问写入

AWS EC2 npm install 突然很慢

什么是nestjs错误处理方式(业务逻辑错误vs.http错误)?

从 Node.js 应用程序查询 Heroku 托管的 Postgres 数据库时出现自签名证书错误

在多个 .env 文件之间切换,例如 .env.development 和 node.js

User.findOrCreate 函数是做什么的,什么时候在Passport 中调用它?

Mongoose:模式与模型?