gpt4 book ai didi

node.js - 为 Sails.js 应用程序初始化 MongoDB 数据库和用户的推荐方法是什么?

转载 作者:太空宇宙 更新时间:2023-11-03 22:54:49 24 4
gpt4 key购买 nike

我正在探索编写一个与 mongodb 数据存储对话的 Sails.js 应用程序。我已经一切正常,但我希望能够添加某种在 npm install 点运行的初始化过程,该过程类似于 rake admin:createRails 世界中。

我猜测这可以通过某种方式通过 grunt 任务来完成,但我想,在推出自己的解决方案之前,我会询问其他 Sails/MongoDB 用户他们实际上做了什么在现实世界中,看看是否出现了一致或最佳实践的解决方案。

最佳答案

Sails 应用程序的数据库初始化通常在 config/bootstrap.js file 中完成。一个简单的例子是这样的:

module.exports = function(cb) {

User.findOrCreate(
// Search for user with "admin" flag
{admin: true},
// Create one if no such user is found
{admin: true, name: 'Admin User', ...}
).exec(cb);

}

Bootstrap 仅在 Sails 升起时运行,并且在执行回调之前服务器不会启动。如果您将任何内容作为回调的第一个参数发送,它将被视为错误(就像大多数标准 Node 回调一样),这将停止提升服务器。

请注意,您无法使用 Waterline 创建实际的数据库。 Grunt 任务是一个很好的地方,但您必须考虑到 Grunt 无法访问 Sails 配置,因此您必须对要使用的数据库名称进行硬编码,或者找到其他方法使其可配置。这可能会对不同的环境(即开发与生产)产生影响。在 Balderdash 的项目中,我们通常在开发人员检查代码后将数据库创建作为手动步骤,然后使用 bootstrap.js 初始化数据。这允许开发人员使用 config/local.js 维护自己的数据库设置。

综上所述,我可以看到设置 Grunt 任务来创建用于生产的数据库的值(value),以便更轻松地将 Sails 应用程序部署到其最终目的地。

关于node.js - 为 Sails.js 应用程序初始化 MongoDB 数据库和用户的推荐方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23441149/

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