我怎样才能使用node-orm2来模拟两个或更多的数据库?
我正在尝试使用Node-orm2作为中间件, Express文档仅显示如何连接到一个数据库。
我试图让Express使用两个不同的中间件层,但没有运气。 例如,
app.use(orm.express('sqlite://test.db', define: { /* define table1 */ })); app.use(orm.express('sqlite://test2.db', define: { /* define table2 */ }));
我把所有的东西都正确地路由到这个get
处理程序
app.get("/", function (req, res) { var t1 = req.db.models.table1.find(...); var t2 = req.db.models.table2.find(...); res.send([t1,t2]); });
由于我app.use
table1
的数据库, find
调用的第二个会产生
TypeError: Cannot call method 'find' of undefined
…这意味着这两个define:
块没有合并,这是我们想要的。
我将如何使用node-orm2访问两个数据库?
你的代码似乎很好。 我认为问题在于你正在使用“req.db.models”而不是“req.models”。 从文档 :
app.get("/", function (req, res) { // req.models is a reference to models used above in define() req.models.person.find(...); });
并且:
你可以多次调用orm.express来build立多个数据库连接。 在连接中定义的模型将在req.models中连接在一起。 不要忘记在app.use(app.router)之前使用它,最好在您的资产公用文件夹之后。
在“模型”下,所有事情都变得一团糟,数据库之间没有区别。 这意味着您不能在多个数据库中将您的模型命名为相同的东西,但是c'est la guerre。
- 在mongodb中创build一个可以创build数据库并仅pipe理数据库的用户/angular色
- nw.js /电子最佳embedded式数据库的大型数据集?
- Sequelize findOrCreate给我一个SequelizeUniqueConstraintError:validation错误
- Sails.js水线查询通过关联
- Mongodb使用filter在子文档中获取logging
- Node.js – 请求数据库和延迟
- 在Mongo GridFS或Amazon S3中存储图像的速度更快?
- mongoose – 如何做许多错综复杂的关系? 具体快速挑战示例请求包括在下面。 谢谢
- devise一个MongoDB数据库 – 有很多embedded式文档可以吗?