Node.js 当我使用猫鼬&;连接MongoDB,我可以插入和获取数据。但无法使用MongoClient查找数据
我的代码如下。打开localhost/users/,浏览器返回Node.js 当我使用猫鼬&;连接MongoDB,我可以插入和获取数据。但无法使用MongoClient查找数据,node.js,mongodb,Node.js,Mongodb,我的代码如下。打开localhost/users/,浏览器返回 {"_id":"55519446e063d4c409f93f00","username":"justnode","__v":0} 但是当我打开Mongoshell并输入:使用student和db.student.find(),我什么也找不到。我的MongoDB版本是3.0.1,nodejs版本是0.12.2,操作系统是Centos 6.4 var express = require('express'); var bodyPars
{"_id":"55519446e063d4c409f93f00","username":"justnode","__v":0}
但是当我打开Mongoshell并输入:使用student
和db.student.find()
,我什么也找不到。我的MongoDB版本是3.0.1
,nodejs版本是0.12.2
,操作系统是Centos 6.4
var express = require('express');
var bodyParser = require('body-parser');
var mongoose = require('mongoose');
var app = express();
mongoose.connect('mongodb://localhost/student', function (error) {
if (error) {
console.log(error);
}
});
var Schema = mongoose.Schema;
var UserSchema = new Schema({
username: {type: String, unique: true}
});
var UserModel = mongoose.model('UserModel', UserSchema);
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
/*
post content as follows
{
"username": "justnode"
}
*/
app.post('/users/create', function (req, res) {
console.log("in /users/create");
var userModelJson = req.body;
var userModel = new UserModel(userModelJson);
userModel.save(function(error) {
if(error) {
console.log(error);
return res.json({msg: "error"});
}
console.log("user created: " + userModel.username);
res.json(userModel);
});
});
/*
open localhost/users/ brower return {"_id":"55519446e063d4c409f93f00","username":"justnode","__v":0}]
but when I open mongo client: db.student.find() i can't find anything
*/
app.get('/users', function (req, res) {
UserModel.find({}, function (err, docs) {
res.json(docs);
});
});
var serverApp = app.listen(80, function () {
console.log('Express server listening on port ' + serverApp.address().port);
});
请更改数据库(学生)、架构(UserSchema)和模型(UserModel)的名称,然后重试。在我的例子中,在更改变量的名称并重新启动之后,它就工作了。(我不知道为什么,也许mongoose或MongoShell有一些bug?你能在帖子中添加你试图通过MongoShell连接的步骤吗(我假设你说的MongoClient是MongoShell)确保你正在连接MongoClient上的student db。显示dbs然后使用student.db.UserModel.find()在您的案例中不是根据您定义的吗???