gpt4 book ai didi

mongodb - Node.js connect-mongo数据库连接问题

转载 作者:可可西里 更新时间:2023-11-01 10:44:50 25 4
gpt4 key购买 nike

这是“connect-mongo”的一个非常奇怪的问题

在我的服务器中,我有两个脚本。

1) 使用 Mongo DataStore 创建带有 session 的快速服务器:连接或创建 session 都没有问题。

MongoStore = require('connect-mongo'),
app = require('express').createServer(


express.session({ secret: cfg.wiki_session_secret,
store:new MongoStore({
db: 'mydatabase',
host: '10.10.10.10',
port: 27017
})
})
);

2) 只创建没有 express 的商店:

var MongoStore = require('connect-mongo');

var options = {db: 'mydatabase'};
var store = new MongoStore(options, function() {
var db = new mongo.Db(options.db, new mongo.Server('10.10.10.10', 27017, {}));

db.open(function(err) {
db.collection('sessions', function(err, collection) {
callback(store, db, collection);
});
});
});

这会引发连接问题:

node.js:134
throw e; // process.nextTick error, or 'error' event on first tick
^
Error: Error connecting to database
at /home/eauser/node_modules/connect-mongo/lib/connect-mongo.js:106:13
at /home/eauser/node_modules/connect-mongo/node_modules/mongodb/lib/mongodb/db.js:79:30
at [object Object].<anonymous> (/home/eauser/node_modules/connect-mongo/node_modules/mongodb/lib/mongodb/connections/server.js:113:12)
at [object Object].emit (events.js:64:17)
at Array.<anonymous> (/home/eauser/node_modules/connect-mongo/node_modules/mongodb/lib/mongodb/connection.js:166:14)
at EventEmitter._tickCallback (node.js:126:26)

我只是不知道为什么..

最佳答案

connect-mongo 是connect框架的中间件,express是基于connect框架的。

因此,您必须将中间件与 express 框架或 connect 框架一起使用,否则将无法工作。它不是为独立的 session 库而编写的。

关于mongodb - Node.js connect-mongo数据库连接问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6631236/

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