noob node.js、Express 和 MongoDB,在 Ubuntu 14 上运行;我通过以下方式在express/nodejs应用程序数据库中创建了一个 Mongoose :
var mongoose = require('mongoose');
var express = require('express');
var app = express();
...
mongoose.connect("mongodb://localhost/firstExpress");
var UserSchema = new mongoose.Schema({
name: String,
email: String,
age: Number
});
var Users = mongoose.model('Users', UserSchema);
app.post('/users', function(req, res){
var b = req.body;
new Users({
name: b.name,
email: b.email,
age: b.age
}).save(function(err, userDoc){
if (err) res.json(err);
res.redirect('/users/' + userDoc.name);
});
});
app.get('/users/:name', function(req, res){
Users.find({ name: req.param.name }, function(err, docs){
if (err){
res.json(err);
} else {
res.json(doc[0]);
}
});
});
发出发布请求可以正常工作,并将用户添加到用户库中。有没有办法从 shell 中查看 mongo 中的这个数据库?
即来自
sudo mongo --smallfiles
当我运行它并执行命令时
show dbs
我看不到 Express 应用程序创建的数据库,也无法在任何数据库中包含的任何集合中看到它。然而,当我重新启动 Node 应用程序并且不发出发布请求,而是对用户调用 get 时,我会得到之前创建的用户列表。有人可以建议一下吗?
最佳答案
给定连接 URL mongodb://localhost/firstExpress
,我可以假设您的数据库名称是 firstExpress
。
因此,只需使用 mongo firstExpress
登录您的 mongo 服务器即可。要查看您的收藏集,请使用显示收藏集
,您就会看到它们。
关于node.js - 你能从 mongo 访问 mongoose 创建的数据库吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23946362/