在mongodb中填写初始化数据

在mongodb中填写初始化数据,mongodb,express,mongoose,Mongodb,Express,Mongoose,我正在使用mongoose并为用户设置模式,如下所示: var users=new mongoose.Schema({ username:String, password:String, type:String }); var User=mongoose.model('user',users); 现在我需要它有一个值为admin、admin、admin的初始行 如何做到这一点? 我正在使用express server验证这样的用户 app.post("/verifyLogin",functio

我正在使用mongoose并为用户设置模式,如下所示:

var users=new mongoose.Schema({
username:String,
password:String,
type:String
});
var User=mongoose.model('user',users);

现在我需要它有一个值为admin、admin、admin的初始行 如何做到这一点?

我正在使用express server验证这样的用户

app.post("/verifyLogin",function(request,response){
var usr=request.body.username;
var pass=request.body.password;
//VERIFICATION FROM DATABASE CODE GOES HERE
});
app.post("/initialize/database",function(request,response){
var user=new userModel({username:'admin',password:'password', type:'admin'});
user.save(function(err){
if(!err){return console.log('created')}else{console.log(err)}
return response.send(user);
});
})
另外,我不熟悉mongodb/基于文档的数据存储。到目前为止,我一直使用phpmyadmin,直接从提供的接口插入数据

我的尝试: 我做了一个这样的临时邮件处理程序

app.post("/verifyLogin",function(request,response){
var usr=request.body.username;
var pass=request.body.password;
//VERIFICATION FROM DATABASE CODE GOES HERE
});
app.post("/initialize/database",function(request,response){
var user=new userModel({username:'admin',password:'password', type:'admin'});
user.save(function(err){
if(!err){return console.log('created')}else{console.log(err)}
return response.send(user);
});
})
然后在控制台中执行以下操作:

jQuery.post('/initialize/database',function(data){console.log(data)})

不知道这是否是最好的方法:(

我发现从终端输入初始化数据最容易

$ mongo
> use database-name
> db.users.insert({ username: 'admin', password: 'admin', type: 'admin' })
这可以简单地让事情进展起来,但我禁止您在生产过程中在数据库中存储纯文本密码。要实现哈希并使用节点而不是终端,您可以创建一个路由来创建新用户。类似于:

app.post("/signup",function(request,response){
  var usr = request.body.username,
      pass = request.body.password;

  somePasswordHashingAlgoritm(pass, function (hashedPassword) {
    User.insert({
      username: usr,
      password: hashedPassword,
      type: 'admin'
    });
  });
});

更好的做法是在mongoose中实现预保存挂钩,但这是另一个主题。如果您不希望其他人注册您的站点,只需在您创建自己的站点时删除该代码。

问题是什么?现在我需要该代码的初始行的值为admin、admin、admin如何创建?请仔细阅读本文。这里提到了它。啊,现在它是粗体的。我被数据库代码的“/”验证弄糊涂了。”.Answer coming.see my edit.我想我走的是正确的道路。mongoose中有没有一种方法可以在不编写其他函数的情况下查看当前数据?这看起来或多或少像我建议的那样,应该可以工作。你的意思是如何查看当前数据?类似于
User.find({},function(err,users){console.log(users);})
?我们可以在终端上执行此操作吗?当然可以。如上所述选择正确的数据库,然后输入
db.users.find()
以显示所有条目。您可能会发现,即使使用mongoose,阅读也很有用。