如何使用 MongoDB Node.JS 驱动程序以编程方式创建数据库?
这看起来很有希望,但我不确定如何使用管理员凭据连接并创建新数据库。
var db = new Db('test', new Server('locahost', 27017));
// Establish connection to db
db.open(function(err, db) {
assert.equal(null, err);
// Add a user to the database
db.addUser('user3', 'name', function(err, result) {
assert.equal(null, err);
// Authenticate
db.authenticate('user3', 'name', function(err, result) {
assert.equal(true, result);
// Logout the db
db.logout(function(err, result) {
assert.equal(true, result);
// Remove the user
db.removeUser('user3', function(err, result) {
assert.equal(true, result);
db.close();
});
});
});
});
});
在 mongodb 中,数据库和集合是在第一次访问时创建的。当新用户首次连接并接触他们的数据时,他们的数据库将被创建。
这似乎有效。
var Db = require('mongodb').Db,
Server = require('mongodb').Server;
var db = new Db('test', new Server('localhost', 27017));
db.open(function (err, db) {
if (err) throw err;
// Use the admin database for the operation
var adminDb = db.admin();
adminDb.authenticate('adminLogin', 'adminPwd', function (err, result) {
db.addUser('userLogin', 'userPwd', function (err, result) {
console.log(err, result);
});
});
});
尝试如下:
var adminuser = "admin";
var adminpass = "admin";
var server = "localhost";
var port = 27017;
var dbName = "mydatabase";
var mongodb = require('mongodb');
var mongoClient = mongodb.MongoClient;
var connString = "mongodb://"+adminuser+":"+adminpass+"@"+server+":"+port+"/"+dbName;
mongoClient.connect(connString, function(err, db) {
if(!err) {
console.log("\nMongo DB connected\n");
}
else{
console.log("Mongo DB could not be connected");
process.exit(0);
}
});
const { MongoClient } = require("mongodb");
const uri =“mongodb://localhost:27017”;
const 客户端 = new MongoClient(uri);
异步函数initializeDatabase() { 尝试{
await client.connect();
console.log("Connected to the database");
const database = client.db("mydatabase");
module.exports = database;
} catch (error) {
console.error("Error initializing database:", error);
}
}
初始化数据库();