我需要你的建议。
我想通过rest API(node.js)处理多个MongoDB数据库的服务器,并对它们进行管理。
如何管理我的数据库?当服务器启动不是一个好主意时,连接到所有数据库。连接数据库以在数据库中创建文档,然后断开连接听起来也不是个好主意。。。那我该怎么做呢?使用连接存储阵列,并在几分钟后断开连接?你怎么认为?
是的,我可能会做一些类似于你描述的事情。我不能告诉你这段代码是否功能齐全,但这里有五分钟的时间:
class TimedConnection {
constructor(uri) {
this.uri = uri;
this._connected = false;
this.disconnect = this.disconnect.bind(this);
}
connect() {
return new Promise((resolve, reject) => {
if (!this._connected) {
const db = this.db = mongoose.createConnection(this.uri);
db.once('open', resolve());
// whatever
}
clearTimeout(this._connectionTimeout);
this._connectionTimeout = setTimeout(this.disconnect, 300000)
return resolve(this.db);
})
}
query() {
this.connect().then((db) => {
// something with `db`
})
}
disconnect() {
this.db.disconnect();
this._connected = false;
}
}
const connectionMap = {
objectsDatabase: new TimedConnection('mongodb://whatever'),
personsDatabase: new TimedConnection('mongodb://whateverthing'),
...
};
我对这两个节点都不熟悉。js和MongoDB,但我已经设法将SO和mongo的文档中的一些部分整合在一起。 Mongo documentetion给出了一个例子: 如果我只需要在一个地方的一个函数中使用数据库,这看起来很好。在SO上搜索和阅读表明,我不应该每次都打开一个新连接,而是使用一个池并重用我第一次得到的数据库对象。这个答案在SO上很丰富,但我不确定如何首先获取DB对象,然后如何重用它。 假
问题内容: 以下代码使我在节点js中出现异常:“需要删除或更新” 由于我指定了更新操作,因此无法解决问题。 问题答案: 节点驱动程序中的语法与外壳程序中的语法不同,这是您使用的语法。 有一个单独的功能
我有两个表有下面的模式,我想从用户表中获取用户名和密码,从信息表中获取全名。 var infoSchema=mongoose.Schema({khatam_id:String,user_id:String,fullname:String,}); var usersSchema=mongoose.Schema({user\u id:String,username:String,password:St
我是wordpress的新手,在管理数据库方面有困难。我已经安装了“管理员”插件来管理数据库。我已经创建了一个名为“usersupp_admin”的新表。现在我还创建了一个自定义模板,该模板将使用PDO语句连接到此数据库,现在的问题是在哪里可以获取主机、数据库名、用户和密码?以下是代码: 任何帮助都将不胜感激。
我已经开始在一个简单的node.js应用程序中使用Q Promise包。所以我对如何在所有Promise序列完成后关闭数据库连接感兴趣。 例子: 我想在显示集合名称后关闭连接,但此匿名函数中没有db上下文。 有没有办法用promise模式处理此类案件?
有人能帮我吗?我正在使用$lookup在MongoDB中加入以获取日期在日期“X”和日期“Y”之间的所有订单,chef_id是“P”。“日期”部分有问题,没有提供日期的数据。但是当我在单个查找查询中使用它时,它可以正常工作并在日期之间提供数据。但是当我使用$lookup申请加入时,它不会提供数据。这是我的查询 谁能帮帮我。 我的收藏在这里“订购”收藏 这是我的用户收藏 }