Tag: node mongodb native

使用多个数据库的node-mongodb-native 2.X驱动程序

有没有办法使用多个数据库与MongoDB的单一连接? 我发现这个: https://mongodb.github.io/node-mongodb-native/api-generated/mongoclient.html#open 但最好我可以告诉那些文档是旧的,因为在MongoClient上似乎没有一个open方法? 你真的需要build立多个连接? 谢谢!

在Monk上使用MongoDB集合上的find方法

我正在通过一个MEAN堆栈教程 。 它在index.js包含以下代码作为路由。 我的Mongo系列的名字是brandcollection 。 /* GET Brand Complaints page. */ router.get('/brands', function(req, res) { var db = req.db; var collection = db.get('brandcollection'); collection.find({},{},function(e,docs){ res.render('brands', { "brands" : docs }); }); }); 我想修改这个代码,但是我不完全理解.find方法是如何被调用的。 具体来说,我有以下问题: 什么对象被传递来function(e, docs)作为它的参数? function(e, docs)是MongoDB语法的一部分吗? 我看过Mongo CRUD操作的文档,找不到它的参考。 看起来像Mongo .find操作的标准语法是collection.find({},{}).someCursorLimit() 。 我没有看到在.find操作中的第三个参数的.find ,那么为什么在这里允许一个? 如果function(e, docs)不是MongoDB操作,它是否是Monk API的一部分? 从教程中可以明显看出,这个代码块返回集合中的所有文档,并将它们放置在一个对象中,称为“品牌”。 但是,在这个过程中, function(e, docs)扮演什么angular色呢? 任何澄清将不胜感激!

更改mongo数据库

我想使用native 2.0 mongodb驱动程序查询我的副本集中的集合节点。 我可以连接并通过admin数据库进行身份validation,但是如何切换数据库以查询我感兴趣的集合? var mongodb = require('mongodb'); var MongoClient = mongodb.MongoClient; var url = "mongodb://user:pass@db1,db2,db3/admin"; MongoClient.connect(url, function(err, db) { console.log("Connected correctly to server"); console.log("Current database", db.databaseName); // switch context to database foo // foo.bar.findOne(); db.close(); });

对于mongodb-native NodeJS中的每个subprocess,使用单连接池进行群集vs多连接池

我正在实现一个使用mongodb作为数据库和mongodb-native库的nodejs服务器来连接它。 此外,我正在使用群集来增强服务器性能。 所以有两种可能的方式使用mongodb本地驱动程序的连接池; 创build一个连接池并在创build时将其传递给每个subprocess(单例模式) 在创buildsubprocess之后,在内部创build一个连接池 所以,我的问题是,其中两个最好的方法是什么? 或者还有其他的好办法吗?

如何优化在MongoDB中使用大数据集的工作

我们有多个在node.js中生成的大约10,000个文档的集合(将来会越来越多),并且需要多次存储/查询/过滤/投影,我们有一个mongodb 聚合pipe道 。 一旦某些条件得到满足,文件将被重新生成并存储。 当我们有5000个文件时,一切正常。 我们将它们作为数组插入到单个文档中,并在聚合pipe道中unwind使用。 但是,在某个时候,文档不再适合单个文档,因为它超过了16 MB的文档大小限制。 我们需要将所有内容都存储起来,并添加一些标识符来知道它们属于哪个“集合”,所以我们只能在这些文档上使用pipe道。 问题:在我们可以在pipe道中查询这些文件之前写入这些文件是有问题的。 bulk.execute()部分可以很容易地花费10 – 15秒。 将它们添加到node.js中的数组中,并将<16 MB文档写入MongoDB只需要几分之一秒。 bulk = col.initializeOrderedBulkOp(); for (var i = 0, l = docs.length; i < l; i++) { bulk.insert({ doc : docs[i], group : group.metadata }); } bulk.execute(bulkOpts, function(err, result) { // … } 我们如何解决大量的写入开销延迟? 思念至今: 基于内存的集合临时处理数据写入磁盘时的查询。 如果内存存储引擎 (警报:被认为是beta而不是生产)值得MongoDB Enterprise许可, WiredTiger存储引擎可能比MMAPv1有更好的压缩和encryption性能。 无论如何存储单个(数组)文件,但将其分成<16 […]

处理从nodejs到mongo db的连接丢失

我试图得到“连接丢失”或类似的连接时,nodejs和mongodb服务器之间的连接丢失。 我使用本机驱动程序,并有以下代码 var mongo = require('mongodb'); var server = new mongo.Server('host', 'port', { auto_reconnect: true, socketOptions: { keepAlive: 10, connectTimeoutMS: 1000, socketTimeoutMS: 0 } }); var db = new mongo.Db( 'dbname', server, { w: 1, wtimeout: 1000, numberOfRetries: 100, auto_reconnect: true } ); db.on('close', function () { console.log('Error…close'); }); db.on('error', function (err) { console.log('Error…error', err); […]

node-mongodb-native,callback,范围和TypeError

这是一个小故事。 曾几何时,一个小项目想使用node-mongodb-native 。 然而,这是非常害羞,它想要使用包装对象隐藏在它后面。 var mongodb = require( 'mongodb' ), Server = mongodb.Server, Db = mongodb.Db, database; var MongoModule = {}; MongoModule.setup = function() { // Create a mongodb client object var client = new Db( this.config.databaseName, new Server( this.config.serverConfig.address, this.config.serverConfig.port, this.config.serverConfig.options ), this.config.options ); // Open the connection! client.open( function( err, db ) { […]

NodeJS本地驱动程序上的示例MongoDB错误是什么样的?

我似乎无法find他们的文档或在互联网上的任何MongoDB错误对象的例子。 什么是一个示例MongoDB错误对象的样子? 我想“处理”错误和/或重新格式化它为我自己的目的,这取决于错误是什么。

运行命令相当于nodejs-native-mongodb

我正在尝试利用nodejs中的MongoDB 2.4实验文本searchfunction。 唯一的问题是,就我所知,本地nodejs mongo驱动程序似乎不支持集合级runCommand。 Mongo shell语法如下所示: db.collection.runCommand( "text", { search : "Textvalue" } ); 有一个db.command / db.executeDbCommand函数出现,但我不知道如何select一个集合并使用它运行文本命令(如果可能的话),因为它需要在集合级别而不是数据库级别。 任何帮助,将不胜感激

node.js – MongoError:不能规范化查询:BadValue坏秩序数组

我有一个数据库与以下文件结构: { "_id" : ObjectId("520bea012ab230549e749cff"), "Day" : 1, "Time" : 54, "State" : "Vermont", "Airport" : "BTV", "Temperature" : 39, "Humidity" : 57, "Wind Speed" : 6, "Wind Direction" : 170, "Station Pressure" : 29.6, "Sea Level Pressure" : 150 } 我需要为每个“国家”find最高的“温度”(例如,有100个文件,包括“州”,“佛蒙特州”),并在此文件中添加条目“month_high”:真(温度最高) 这是我的代码: http : //pastebin.com/UbACLbSF 但是当我在shell中运行程序时,出现以下错误: MongoError:无法规范化查询:BadValue坏秩序数组[2]