'dbo'在MongoDB - Express应用程序中代表什么?



代码示例如下:

app.js

const express = require("express");
const app = express();
const cors = require("cors");
require("dotenv").config({ path: "./config.env" });
const port = process.env.PORT || 5000;
app.use(cors());
app.use(express.json());
app.use(require("./routes/record"));
// get driver connection
const dbo = require("./db/conn");

app.listen(port, () => {
// perform a database connection when server starts
dbo.connectToServer(function (err) {
if (err) console.error(err);

});
console.log(`Server is running on port: ${port}`);
});

db/conn.js

const { MongoClient } = require("mongodb");
const Db = process.env.ATLAS_URI;
const client = new MongoClient(Db, {
useNewUrlParser: true,
useUnifiedTopology: true,
});

var _db;

module.exports = {
connectToServer: function (callback) {
client.connect(function (err, db) {
// Verify we got a good "db" object
if (db)
{
_db = db.db("employees");
console.log("Successfully connected to MongoDB."); 
}
return callback(err);
});
},

getDb: function () {
return _db;
},
};

我做了一些研究,它在SQL Server中代表"数据库所有者",但在这里没有意义。

这些代码示例来自MongoDB官方文档,为什么他们分配连接实例为dbo,如果它真的代表数据库所有者?

由于文档没有解释变量名的选择,我们只能猜测。考虑到导出的类型,我最好的猜测是dbo代表数据库对象。

我认为这是模仿SQL世界的特殊用法,其中dbo是默认模式,缩写datawn.

通常,在MongoClient文档中,我只看到db = require("./db/conn");,但这里似乎作者的手指只是习惯于在输入db后自动输入o

人类是习惯性的模仿者。我不会想太多的。它只是一个变量名。

nodejs中没有限制和内置参数名

你可以根据自己的喜好使用

最新更新