我一直在寻找简单的数据库抽象实现,然后我找到了很棒的文章http://howtonode.org/express-mongodb,虽然很旧,但我仍然喜欢这个想法.
也许构造,可以采取某种对象文字与数据库设置.所以主要的想法是可能有不同的UserService-s实现,但位于不同的目录中,只需要一个需要的目录.
/data-layer/mongodb/user-service.js
/post-service.js
/comment-service.js
/data-layer/couchdb/user-service.js
/post-service.js
/comment-service.js
Run Code Online (Sandbox Code Playgroud)
当需要数据库时,我会在var UserService = require(__dirname + '/data-layer/mongodb/user-service).UserService(db);哪里得到它var db = "open db object"
这是正确的做法吗?还是有更好的解决方案?
mag*_*tik 12
有一些解决方案可通过NPM获得:
Yan*_*oto 11
我可能是时候更新旧问题的答案了:
如果你想使用MongoDB作为面向文档的数据库,mongoose是一个很好的选择并且易于使用(例如来自官方网站):
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/test');
var Cat = mongoose.model('Cat', { name: String });
var kitty = new Cat({ name: 'Zildjian' });
kitty.save(function (err) {
if (err) // ...
console.log('meow');
});
Run Code Online (Sandbox Code Playgroud)
对于一种相当现代的方法,Mongorito是一个很好的ODM,它使用ES6生成器而不是回调.
作为06.2015我认为,最好的ORM的SQL数据库使用的是Node.js/io.js被Sequelize支持以下数据库:
设置相当简单:
var sequelize = new Sequelize('database', 'username', 'password', {
host: 'localhost',
dialect: 'mysql'
});
// Or you can simply use a connection uri
var sequelize = new Sequelize('postgres://user:pass@example.com:5432/dbname');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14048 次 |
| 最近记录: |