- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我正在尝试使用 MongoJS作为 Node.js 中原生 Mongo 驱动程序的包装器。我正在使用 populate()
、save()
等方法将集合中的文档建模为 JavaScript 类。
在 C# 和 Java 等大多数语言中,我习惯于为每个查询显式连接然后断开连接。大多数示例仅提供连接示例,但在完成后从不关闭连接。我不确定驱动程序是否能够自行管理,或者我是否需要自己手动管理。文档很少。
以下是相关代码:
User.prototype.populate = function(callback) {
var that = this;
this.db = mongo.connect("DuxDB");
this.db.collection(dbName).findOne({email : that.email}, function(err, doc){
if(!err && doc) {
that.firstName = doc.firstName;
that.lastName = doc.lastName;
that.password = doc.password;
}
if (typeof(callback) === "function"){
callback.call(that);
}
that.db.close();
});
};
我发现,一旦我在 MongoJS 对象上调用 close()
方法,我就无法再在后续调用中打开新连接。但是,如果我不调用此方法,那么一旦所有异步调用完成,Node 进程就永远不会终止,就好像它正在等待与 Mongo 断开连接一样。
使用 MongoJS 管理与 Mongo 的连接的正确方法是什么?
最佳答案
如果您保持连接打开而不是断开连接,您的应用程序将获得更好的性能。与实际处理查询和更新所花费的时间相比,建立 TCP 连接,并且在 MongoDB 的情况下,在适当的情况下发现副本集/分片配置是相对昂贵的。最好“花费”一次并保持连接打开,而不是不断地重新做这项工作。
关于javascript - 使用 MongoJS 管理与 Mongo 的连接的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10215876/
我无法找到任何有关如何执行此操作的文档或示例,但肯定这是可能的。基本上,我想保留 20 条最近的记录。我想按日期(降序)排序,跳过 20 个,然后删除剩余的内容。 最佳答案 您可以分两步完成 - 1,
我试图使用 findOne 方法。但没有显示任何东西,看起来没有执行。您愿意帮我解决这个问题吗? var mongojs = require('mongojs'); var databaseUrl =
我无法找到任何有关如何执行此操作的文档或示例,但肯定这是可能的。基本上,我想保留 20 条最近的记录。我想按日期(降序)排序,跳过 20 个,然后删除剩余的内容。 最佳答案 您可以分两步完成 - 1,
这是经典的 JavaScript 闭包与循环变量问题,但有一点不同。有一个 MongoDB 集合,其中包含存档的推文。我必须对其执行查找操作,搜索各种搜索词。这些单词以字符串形式存在于数组中,必须单独
我正在使用 mongojs 更新 mongodb 集合中的数据。该程序逐行读取文件,并为每一行在 mongodb 数据库中进行更新。更新工作正常,但控件未返回。 var fs = require('f
我想使用 Node js 在 mongodb 表中查找文档。我目前正在使用 mongojs 插件。 这是我遇到的问题: 我连接到数据库。 我获取当前时间戳 每隔 10 秒我想打印这 10 秒内添加的所
嗨,我是 MongoDB 和 NodeJs 的新手。我正在使用“mongojs”模块来简单地从 mongodb 读取数据。代码如下: var dbname = 'XXXX'; var database
我有一个 Node.js 应用程序,它获取大量具有唯一 ID 的 JSON 数据,然后使用 Mongojs 将它们插入到 MongoDB 中。 问题是,在这么大的数据数组中,可能存在一些重复的文档!所
我正在尝试在 mongojs 中存储和检索日期。这是它的保存方式: var game = { startedOn: new Date() }; db.games.save(game); 当我获取它时,
我正在通过 MongoJS 驱动程序使用 Node.js 和 MongoDB 构建一个简单的应用程序。我的目标是一些重负载(10 分钟内约 10000 个用户, session 大约 30 秒) 我正
我正在为 session 身份验证实现一个 restify 中间件。该函数包含嵌套的异步数据库调用:db.sessions.findOne() 回调中的 db.sessions.remove()。 '
我有以下代码: db.users.save({ username: "admin", array: [{ foo1: "foo1", f
我需要使用 limit 和 skip 从 mongo 获取一些记录。 我正在将 MongoJS 与 NodeJS 结合使用,但下面给出的方法不起作用。 下面是一个例子: db.users.find(f
考虑以下nodejs代码: db = require('mongojs')('database', ['users, sessions']); db.users.insert( { 'email'
我想使用 mongojs 设置整个集合的写入关注点图书馆。 这就是我认为代码可能的样子 var mongojs = require('mongojs'); var db = mongojs('test
我正在尝试学习node、mongodb和mongojs,并且有一个新手问题。 我的路线是这样的...... server.get({path: PATH + '/:author', version:
我正在运行node.js和mongoDB,并以mongojs作为驱动程序。我有以下问题, 我尝试使用 _id 数组查询业务集合,如果我尝试如下动态构建查询,我会得到长度为 0 的数组,这是错误的。
我有 MongoJS 查询调用: db.users.find({username:"eleeist"},function(err, docs) { console.log(docs); });
Node.js,mongojs ,mongodb。我正在使用正则表达式搜索技能列表。这是我的服务器代码: var nconf = require('nconf'); var db = require(
Mongojs 是 mongodb-native 库的瘦包装器,但唯一的问题是我无法监听错误? 需要处理的主要错误是连接错误、无法连接或丢失连接。这是我到目前为止尝试过的示例。 var mongojs
我是一名优秀的程序员,十分优秀!