gpt4 book ai didi

node.js - Mongoose 和模型连接

转载 作者:搜寻专家 更新时间:2023-10-31 22:58:41 25 4
gpt4 key购买 nike

我正在努力了解 mongoose 如何使用它的连接。目前我有:

// Datastore.js
var mongoose = require('mongoose'),
conn = mongoose.createConnection();

...

conn.open(host, database, port, options, callback); // Opens connection


// Model.js
var mongoose = require('mongoose');
var Schema = new mongoose.Schema({...})
module.exports = exports = mongoose.model('MyModel', Schema);


// Controller.js
var mongoose = require('mongoose');
var MyModel = mongoose.model('MyModel'); // Retrieves the model ok

MyModel.find({}, function(err, docs){
if(err){} //
console.log(docs); // Does not work
});

但是这不起作用......它只有在我以某种方式传递连接时才有效:

// Datastore.js
var mongoose = require('mongoose'),
conn = mongoose.createConnection();

...

conn.open(host, database, port, options, callback); //

mongoose.set('db', conn);


// Controller.js
var mongoose = require('mongoose'),
db = mongoose.get('db');

var MyModel = db.model('MyModel'); // Retrieve the model using the connection instance

MyModel.find({}, function(err, docs){
if(err){} //
console.log(docs); // Works
});

我认为我正在以错误的方式处理这个问题......第一种方法应该有效吗?我做错了什么?

最佳答案

最简单的方法是打开所有 mongoose 调用共享的默认连接池:

// Datastore.js
var mongoose = require('mongoose'),
db = mongoose.connect('localhost', 'dbname');

然后在所有其他文件中使用 mongoose.model(...) 访问池。

关于node.js - Mongoose 和模型连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12053811/

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