运行mongodb脚本一次以插入初始数据

时间:2013-06-28 18:46:25

标签: node.js mongodb mongoose patch

我的节点服务器存在鸡和蛋的问题,您需要让某个用户具有某些角色,该角色具有某些权限才能登录并开始创建更多用户,角色等。

我想初始化数据库,以便创建一个初始ADMIN角色和具有该角色的初始管理员用户。

即。以脚本开始并遇到问题:

use mydb

db.roles.insert({
  name: "ADMIN_ROLE",
  description: "Administrative role",
  permissions: ['ALL']
});

db.users.insert({
  username: "admin",
  password: "password",
  role: ??? (get ADMIN_ROLE _id from above)
});

基本上我遇到了几个问题: 1.不确定我是否可以像这样编写脚本。 2.如何将ADMIN_ROLE id存储在新的管理员用户

另一个想法: 编写一个连接到mongodb的快速节点应用程序并插入正确的东西。任何人都是这样做过的。

另一个: 对于node / mongo,是否存在类似ruby rake的东西。 I.E.初始种子可能不是我需要“手动”搞乱的唯一数据。 I.E.我可能需要在某个时间点修补数据库。将补丁#1创建为初始种子会很好,然后能够在必要时编写未来的补丁并且能够。 I.E.像rake migrate这样的东西?

关于如何播种mongo数据库的任何其他想法?

1 个答案:

答案 0 :(得分:9)

拍摄刚刚发现:

https://github.com/visionmedia/node-migrate

https://npmjs.org/package/mongo-migrate

正是我在寻找的东西。