Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 当我使用猫鼬&;连接MongoDB,我可以插入和获取数据。但无法使用MongoClient查找数据_Node.js_Mongodb - Fatal编程技术网

Node.js 当我使用猫鼬&;连接MongoDB,我可以插入和获取数据。但无法使用MongoClient查找数据

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

我的代码如下。打开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 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()在您的案例中不是根据您定义的吗???