- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 Node.js、Express 和 Mongodb 构建 REST API。我正在使用 mongodb npm 包连接到数据库,下面是我的 sever.js 文件代码
var express = require("express");
var app = express();
var bodyParser = require("body-parser");
var port = process.env.PORT || 8080;
var mongo = require("mongodb");
var Server = mongo.Server;
var Db = mongo.Db;
var ObjectID = mongo.ObjectID;
try{
var config = require('./configure.js');
}catch(e){
console.log("configuration file is hidden on github for security");
config = null;
}
var usersCollection = config.usersCollection;
var login = require('./routes/login/index.js');
var signup = require('./routes/signup/index.js');
var Database = new Db(process.env.DBNAME || config.DBNAME , new Server(process.env.DBHOST || config.DBHOST, process.env.DBPORT || config.DBPORT, {'native_parser': true}));
Database.open(function (err, mongoclient) {
if(err){
console.log("Failed to connect to the database. Please Check the connection");
throw err;
}else{
Database.authenticate(process.env.DBUSER || config.DBUSER, process.env.DBPASS || config.DBPASS, function(err, res) {
if (err) {
console.log("Authentication Failed");
throw err;
}else{
console.log("Connected to the database Successfully");
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
var users = Database.collection(usersCollection);
login(app,users);
signup(app,users);
Database.close();
}
});
}
});
app.listen(port,function(){
console.log("Server Started Listening to port : "+port);
});
路由/登录/index.js
module.exports = function(app,users){
app.route('/login')
.post(function(req,res){
var username = req.body.username;
var password = req.body.password;
var query = {'FirstName':username};
users.find().toArray(function(err,docs){
if(err){
throw err;
}else{
console.log("no err");
if(doc.LastName == password){
res.send({status : true});
}else{
res.send({status : false});
}
}
});
});
和 routes/signup/index.js
module.exports = function(app,users){
app.route('/signup')
.post(function(req,res){
var doc = { EmpNo:"1",
FirstName:"Andrew",
LastName:"Neil",
Age:"30",
Gender:"Male",
Skill:"MongoDB",
Phone:"408-1234567",
Email:"Andrew.Neil@gmail.com",
Salary:"80000"
};
users.insert(doc,function(err,info){
if(err){
throw err;
}else{
console.log('Successfully inserted ' + JSON.stringify(info));
res.send({result: 'done'});
}
});
});
当我尝试在 server.js 中插入文档时,我能够成功插入它们,但是通过 routes/signup/index.js 我正在获取实例池,如果我尝试在server.js 没有错误,但如果我尝试从 routes/login/index.js 执行此操作,那么我会收到错误消息,因为拓扑结构已被破坏。
需要帮助来解决它。
最佳答案
如果连接在进程中间以某种方式被切断,则会抛出这些错误。
因为 users.find()
和 users.insert()
函数都是异步的,您的 server.js 文件到达 Database.close()
函数并在完成该过程之前关闭与数据库的连接,从而给出错误。
关于javascript - 蒙哥错误: topology was destroyed(when finding the documents) and instance pool was destroyed (when inserting documents),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41170727/
如何选择字段为数字的mongodb文档? 该字段内容的一些示例:“2”、“a”、“Z”、3 最佳答案 您可以使用 $type运算符根据字段的 BSON 类型进行选择,这应该可以得到你想要的。 例如,要
关注 this question @NeilLunn 已经优雅地回答了,这是我更详细的问题。 这是一组文档,有些有 user_id 有些没有。 user_id 代表创建文档的用户: { "user_i
当我发出以下查询时: db.users.find({"pic.status" : {$ne : null} }, {"pic" : 1}).toArray() 我希望收到所有 pic.status 不
我有一个包含这样记录的集合: { "_id" : ObjectId("50ae3bdb50b3d6f01400027a"), "admins": [ObjectId("5
假设您有一个文档 ID 数组存储在其他地方(例如,在 Redis 排序集中)。 使用 { _id: { $in: ids }} 查询 Mongo 文档最有效的方法是什么?并以与 ids 中相同的顺序对
如何在 MongoDB 中查找缺少某个字段的集合中的文档? 最佳答案 是的,可以使用 $exists : db.things.find( { a : { $exists : false } } );
我已经开始学习Mongo了。给定以下集合,例如所谓的帖子,我将如何将新评论插入到现有文档中?我在 mongo 网站上看到的示例是针对“简单”集合的。感谢您的帮助。 { "_id" : ObjectId
例如我们有收藏 {field: {subfield: 'name'}} {field: {subfield: 'phone'}} 我可以找到没有点符号的文档吗?像这样 db.test.find({fi
是否可以在 Mongo 查询中使用“exists”之类的内容来根据 ID 返回此记录? 类似于 select where 'ids' contains key '123456'? {
我在 Mongo 中有一组文档。说: [ { summary:"This is good" }, { summary:"This is bad" }, { summary:"S
我有超过 100 个字段,我正在寻找一种方法,以便我可以将整个集合导出为 CSV 格式 命令行要求通过提供所有字段 -f [ --fields ] arg comma seperated list o
我一直在尝试从另一台机器访问我的 mongo 实例,但出现此错误。我找不到很多对这个 whatsmyuri 错误的引用。这是我从外部机器得到的: $ mongo :27017/youtube_adve
我是一名优秀的程序员,十分优秀!