我对 JavaScript 还很陌生,我正忙着使用 Node 测试应用程序和 MongoDB。
我现在想从应用程序的数据库端开始,但我不确定在这样的堆栈中最常用的模式是什么,更重要的是,为什么。
到目前为止,我已经得到了:
var mongoClient = mongodb.MongoClient;
var mongoUrl = 'mongodb://localhost:27017/MyDB'
function openConnection() {
var database;
mongoClient.connect(mongoUrl, function (err, db) {
if (err) {
return null;
} else {
database = db;
}
});
return database;
}
我最初的想法是有一个 connect() 函数,并在各个函数中执行插入/更新请求,例如:
function addPerson() {
var db = openConnection();
db.doInsert(myObject);
db.close();
}
完成我的示例的一些首选方法是什么?
另外,顺便说一句,即使 mongoClient.connect 中的数据库对象按预期工作,openConnection() 函数也始终返回 null。当脱离 mongoClient.connect() 函数时,“db”对象是否会以某种方式丢失上下文?
最佳答案
这是一个相当广泛的问题,部分基于观点。这个问题应该结束了,但我还是想给你一些建议。
曾经有Active Record pattern ,已被证明很难维护。
解决方案是 DAO pattern ,但是如果做得正确的话,这会添加很多代码。
因此,最近(大约 5-8 年前,因为领域驱动设计拥有了更广泛的受众)存储库模式出现在许多框架中。
这种模式似乎与其他模式和技术非常适合。
所以,我建议您尝试的是 this tutorial这应该是非常简单的。教程下方有一条评论,指向 this github repository 。如果您不太愿意,它会避免 CoffeeScript ,因为它仅基于node.js/mongoDB和纯JS。
关于javascript - 我可以在 JavaScript 中查看哪些数据库实现模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30979280/