gpt4 book ai didi

node.js - Nodejs 与 mongodb : insert/find callbacks not running

转载 作者:太空宇宙 更新时间:2023-11-03 22:38:13 24 4
gpt4 key购买 nike

这是我插入一些记录的模型代码。在我的工作电脑上它工作得很好,但是当我在具有相同操作系统的家用电脑上运行它时,collection.insert 不会运行它的回调,所以我只收到很长的请求,该请求以超时结束。没有错误,mongo db 日志显示“连接已接受”5 次,之后就没有任何消息了。当我尝试使用 find() 从数据库中获取对象时,也会发生同样的情况。使用 mongo shell 插入记录效果很好,但使用 Node.js 我无法实现这一点。

/*
* POST populate locations.
*/

var MongoClient = require('mongodb').MongoClient,
_ = require('underscore'),
env = process.env.NODE_ENV || 'development',
config = require('../config/config')[env]

exports.connect = function(cb) {
MongoClient.connect(config.db, function(err, db) {
if (err) throw err;
cb(db)
});
}

exports.populate = function(data, cb) {
var self = this;
self.connect(function(db) {
var collection = db.collection('locations');
collection.insert(data, function(err, docs) {
collection.ensureIndex({
"loc": "2dsphere"
}, function() {
db.close();
cb();
});
});
});
}

最佳答案

使用

exports.populate = function(data, cb) {
MongoClient.connect(config.db, function(db) {
var collection = db.collection('locations');
collection.insert(data, function(err, docs) {
collection.ensureIndex({
"loc": "2dsphere"
}, function() {
db.close();
cb();
});
});
});
}

关于node.js - Nodejs 与 mongodb : insert/find callbacks not running,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20311267/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com