gpt4 book ai didi

javascript - Node.js + Mongoose 中的基本建模

转载 作者:行者123 更新时间:2023-11-30 15:38:48 25 4
gpt4 key购买 nike

我一直在开发 node.js 应用程序。我正在尝试模拟一个音阶,它有一个名字和一些相关的音符:

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

var scaleSchema = new Schema({
name: String,
displayName: String,
notes: [{type: String}]
});

module.exports = mongoose.model('Scale', scaleSchema);

但是,我不知道如何“播种”甚至访问这个模型。我想用一些只加载一次的秤来填充它。我知道我可以要求这个模型并使用 new 来创建新条目,但是我必须将它放入 Node 应用程序的特定部分吗?是否有特定的最佳实践可供使用?我做错了吗?

我在这里很困惑,但感觉好像我几乎掌握了它的工作原理。有人可以指出我正确的方向吗?

最佳答案

您可以像创建对象一样创建新的数据库条目。这里以播种器类为例。

    let mongoose = require('mongoose'),
User = require('../models/User');

module.exports = () => {

User.find({}).exec((err, users) => {
if (err) {
console.log(err);
} else {
if (users.length == 0) {
let adminUser = new User();
adminUser.username = 'admin';
adminUser.password = adminUser.encryptPassword('admin');
adminUser.roles = ['Admin'];
adminUser.save();

console.log('users collection seeded')
}
}
});
};

然后在另一个文件中您可以调用它,它将为您的数据库播种。

let usersCollectionSeeder = require('./usersCollectionSeeder');       
usersCollectionSeeder();

希望这对您有所帮助。

至于结构,我喜欢有一个名为“seeders”的文件夹。在那里我有一个名为 databaseSeeder.js 的文件,它需要所有其他播种器,如 usersCollectionSeeder.js,然后调用函数。

这是我喜欢使用的示例结构。

https://github.com/NikolayKolibarov/ExpressJS-Development

关于javascript - Node.js + Mongoose 中的基本建模,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41134581/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com