Tag: node mongodb native

MongoError:游标已经死了(mongo节点驱动程序)

我正在使用node-mongodb-native 2.0 http://mongodb.github.io/node-mongodb-native/2.0/ 使用以下Node.js代码: var MongoClient = require('mongodb').MongoClient; var mongoUrl = 'mongodb://localhost/twitter'; MongoClient.connect(mongoUrl, function(err, db) { if (err) return console.error(err); var collection = db.collection('tweets'); collection.find().limit(1000).forEach(function(tweet) { console.log(tweet.id); }, function(err) { if (err) console.error(err); db.close(); }); }); 当我设置限制为1000 ( collection.find().limit(1000) )时,我能够检索到前几百条logging,但是我得到了错误消息{ [MongoError: cursor is dead] name: 'MongoError', message: 'cursor is dead' }稍后(我collections了100万条logging)。 但程序运行确定我们指定800作为限制。 没有指定任何限制(只是collection.find() )也是可以的,而脚本只是继续前进而没有任何错误(读取方式多于1000条logging)。 怎么了? […]

如何在Node.js中正确打开和维护连接到多个Mongo数据库?

我完全不熟悉Node.js和Mongo db。 不过,我想开始第一个项目来熟悉所有这些东西。 服务器应用程序将基于expression式,我想出了三个不同的mongo数据库appDdata,sessionData和userData。 现在我很难弄清楚如何连接到这些数据库,以及如何维护连接并传递访问对象。 在大多数express / mongo教程中,有这样的玩具例子: MongoClient.connect('mongodb://localhost:27017/blog', function(err, db) { "use strict"; if(err) throw err; // Register our templating engine app.engine('html', cons.swig); app.set('view engine', 'html'); app.set('views', __dirname + '/views'); // Express middleware to populate 'req.cookies' so we can access cookies app.use(express.cookieParser()); // Express middleware to populate 'req.body' so we can access POST variables […]

无法将parameter passing给mongo查找集合

在执行db.collection.find之后,Req.params获取值。 可以有人告诉我,我做错了这个代码? exports.findAll = function(req, res) { var postal = parseInt(req.params.postal); db.collection('ifscdata', function(err, collection) { collection.find({'ADDRESS':/postal/}).toArray(function(err, items) { res.send(items); }); }); 我们应该根据邮政地址进行部分search。 但是因为它只有在获得价值之后才能通过邮寄的价值。 function路线是这样的 app.get('/ifsc/:postal', ifsc.findAll); 示例url: HTTP://本地主机:3000 / IFSC / 691009

我应该如何在节点js中使用db + http调用的promise

我需要执行哪个系统 从父集合获取数据。 检查在redis中find的特定密钥 如果没有,然后做一个http调用并获取json数据,然后设置caching 如果是,则从caching中获取数据 将数据保存到父标识的子集合中。 我有使用callback这样的工作解决scheme。 MongoClient.connect(dsn).then(function(db) { parentcollection.findOne({"_id" : new ObjectId(pid)}, function(err, data) { var redis = require("redis"), client = redis.createClient(); client.on("error", function (err) { console.log("Error " + err); }); // If not set client.get(cacheKey, function(err, data) { // data is null if the key doesn't exist if(err || data === null) { […]

Mongodb – TypeError:ReplSetServers不是一个函数

我正在开发一个应用程序,它有MongoDB作为数据库。 我正在使用多个URL来连接MongoDB。 我用以下来连接数据库。 var mongoClient = require('mongodb').MongoClient; var Db = require('mongodb').Db; var Server = require('mongodb').Server; var ReplSetServers = require('mongodb').ReplSetServers; var replSet = new ReplSetServers([ new Server('localhost', 30000), new Server('localhost', 30001), new Server('localhost', 30002) ]); var db = new Db('machaao', replSet, {w:0}); 参考链接 通过使用require导入包后,我没有得到任何错误。 但使用new ReplSetServers我得到了以下错误。 TypeError: ReplSetServers is not a function 。 是否有任何我必须导入的依赖包? 还是应该在代码中进行更改? 我不知道为什么会出现这个错误。 […]

如何在node + express中重新运行请求处理程序?

我正在运行节点+ express + mongojs。 这是一个示例代码: function mongoCallback(req, res) { "use strict"; return function (err, o) { if (err) { res.send(500, err.message); } else if (!o) { res.send(404); } else { res.send(o); } }; } var express, app, params, mongo, db; express = require('express'); params = require('express-params'); app = express(); params.extend(app); app.use("/", express.static('web')); mongo = require('mongojs'); […]

Mongodb本地聚合与光标

我为nodejs使用了mongodb本地驱动程序。 我只想知道是否有任何可能性,我们可以做聚合,但方法将返回一个游标对象? 谢谢!

在MongoDB字段中获取最小值或最大值的文档

如何在MongoDB的字段中获得最小值或最大值的文档? 类似于MySQL中的MIN()或MAX()函数,但使用NodeJS MongoDB驱动程序。 有任何想法吗?

MongoDB按节点mongodb-nativesorting

我想sortingMongo查询的结果。 从这里我发现我可以这样做,例如: collection.find().sort( { name: 1 } ).limit( 5 ) 因为我不想按名称sorting,而是按请求指定: var query = require('url').parse(req.url, true).query; var n = parseInt(query.limit); var f = String(query.field); var dir = query.direction; collection.find().sort({f: dir}).limit(n) 问题是,它按“f”sorting,而不是variablesf的值。 我怎样才能sorting存储在f?

在mongo-db本机客户端的数据库连接

我有一个express / nodeJs应用程序,它将在Mongo-db中使用mongo-db本地客户端来保持持久性。 现在我的问题是,我看到的大部分示例都有一个集合,因此在该js文件中进行连接,就像本教程 (在mongo-db本地客户端文档中提到的那样)。 那里的连接代码是这样的: var Db = require('mongodb').Db; var Connection = require('mongodb').Connection; var Server = require('mongodb').Server; var BSON = require('mongodb').BSON; var ObjectID = require('mongodb').ObjectID; ArticleProvider = function(host, port) { this.db= new Db('node-mongo-blog', new Server(host, port, {auto_reconnect: true}, {})); this.db.open(function(){}); }; ArticleProvider.prototype.getCollection= function(callback) { this.db.collection('articles', function(error, article_collection) { if( error ) callback(error); else callback(null, […]