Tag: mongojs

检索MongoJS中的date

我试图在mongojs中存储和检索一个date。 这是如何保存的: var game = { startedOn: new Date() }; db.games.save(game); 当我拿到它时,date不再是date。 这是某种约会的一种包装。 _d字段似乎是一个date,但奇怪的是,我应该不得不这样访问它。 db.games.find(function(err, games){ console.log(game[0].startedOn); }); 这logging: { _useUTC: true, _isUTC: true, _l: null, _i: null, _f: null, _d: Sun Jun 09 2013 21:49:26 GMT-0500 (CDT) } 在mongo-js中存储/检索date的正确方法是什么?

听“mongojs”连接错误

Mongojs是mongodb本地库的薄包装,但唯一的问题是我无法听错误? 需要处理的主要错误是连接错误,不能或丢失连接。 这是我迄今为止尝试过的例子。 var mongojs = require('mongojs'); var db = mongojs.connect('reallyRandomStringShouldGiveError', ['sessions', 'unknown']); // This does not work db.on('error', function(err) { console.log('Catch ', err); }); db.sessions.insert({ a: 1 }); db.unkknown.find({ a: 1}, function (err, result) { console.log(err, result); }); 而来自“mongojs”库的代码应该再次发布错误的mongojs源代码 var connect = function(config, collections) { var connectionString = parseConfig(config); var ondb = thunky(function(callback) { […]

Mongodb聚合pipe道新的date

我尝试使用聚合pipe道来添加/创build新的date根据以前的pipe道值,并保存到一个新的集合(见我的pipe道下面)。 但是,语法是错误的,我得到一个错误说 不允许的字段types对象expression式中的date(在'date')//date:new Date('$ _ id.year','$ _id.month','$ _id.day') 我想知道如何使用我在mongo聚合pipe道中的上一年,每月,每天的值来创build新的date? 基本上,在将ISODate转换为分组的年,月,日之后,我想将它们转换回ISODate格式。 pipeline = [{ $match: { event: 'sample_event', } }, { $project: { _id: false, uuid: '$properties.distinct_id', time: '$properties.time' } }, { $group: { _id: { year: { $year: '$time' }, month: { $month: '$time' }, day: { $dayOfMonth: '$time' }, uuid: '$uuid' } } }, […]

MongoJS增加池大小

我正在通过MongoJS驱动程序使用Node.js和MongoDB构build一个简单的应用程序。 我正在瞄准一些沉重的负担(在10分钟内约10000名用户,约30秒的会话) 我正在使用连接池,默认情况下,mongojs创build5个连接,预计将被共享。 我想放大这个值来提高效率,否则一堆请求会等待一个非常不希望的连接。 我发现这解释了如何使用本地驱动程序来增加池大小http://technosophos.com/content/nodejs-connection-pools-and-mongodb 我知道mongojs是本地驱动程序的包装,但有没有办法在mongojs中设置连接池大小? 或者是你必须从驱动程序做的事情..但如果是这样,你怎么能同时使用驱动程序和mongojs? 任何人都可以指向正确的方向吗? 非常感谢。

Mongojs:忽略重复的对象插入

我有这个Node.js应用程序,它获得了一个具有唯一ID的JSON数据的大量数据,然后使用Mongojs将它们插入到MongoDB中。 问题是,在这大量的数据中,可能会有一些重复的文件! 所以当使用Mongojs插入这些数据时,它会返回错误E11000 duplicate key error ,并且不会继续插入。 所以我在寻找的东西就像本地Mongo的continueOnError/keepGoing选项。 它会忽略重复并继续insert 。 http://mongodb.github.io/node-mongodb-native/api-generated/collection.html#insert 这是我的代码,如果有帮助: var mongojs = require('mongojs'), dburl = process.env.MONGOHQ_URL || 'mongodb://localhost/test', db = mongojs(dburl, ['concerts']); function insertData(data) { db.concerts.insert(data, {keepGoing: true, safe: true}, function(err, docs){ console.log('err: ' + err + ' docs:' + docs); if(!err) console.log('data inserted successfully!\n'); }); } exports.insertData = insertData; 在这里代码中我已经设置了选项为true,但它仍然不起作用(相同的错误)。 无论如何,我可以用Mongojs做这个,或者我必须使用native-mongo吗? […]

MongoDB:将数组添加到现有的数组中

我试图添加一个“讲师”数组到一个已经存在的“阵营”arrays。 分层结构看起来像这样: owner = { email : 'john.smith@gmail.com', password : 'mypassword', firstName : 'john', lastName : 'smith', camps : [ { name : 'cubs-killeen', location : 'killeen', manager : {name: 'joe black', email: '', password: ''}, instructors : [ { firstName : 'bill', lastName : 'jones', classes : [] }, { firstName : 'jill', lastName […]

从MongoJS运行MapReduce

是否有可能在节点应用程序中使用mongojs运行mapreduce作业。 我意识到在web服务器代码中使用mapreduce并不是最有效的方法,但是这是为了testing的目的。

MongoDB按相关性sorting

我正在使用试图从节点上的MongoDB获取文档。 假设文档具有以下结构: { "_id": ObjectId, "title" : String, "tags" : Array<String> } 我想按照相关性对它们进行sorting – 所以当我在查找具有“蓝色”或“黄色”标签的文档时,我想首先使用这两个标签来获取文档。 到目前为止,我pipe理谷歌,试验和错误: var tags = [ "yellow", "blue" ]; db.collection('files').aggregate([ { $project : { tags: 1 } }, { $unwind : "$tags" }, { $match : { "tags": { "$in": tags } } }, { $group : { _id: "$_id", relevance: […]

有承诺的节点程序没有完成

我不能为了我的生活找出为什么这不完成: var pmongo = require('promised-mongo'); var db = pmongo('mongodb://localhost/builder'); var block_id = '538d097bbb12479d0e9f70ab'; var collection = db.collection('block'); collection.findOne({_id:db.ObjectId(block_id)}) .then(function(result) { console.dir(result); }).done(); 它bascially只是挂起。 findOne返回一个承诺,我打电话完成。 奇怪的是,当我closures数据库(即db.close())的时候,它完成。 我试图最终通过快递进行处理,所以我不想closures数据库。 有什么诀窍?

Mongojs&Express – 无法通过ID删除

我正在尝试删除基于ID的logging。 我通过get动词发送ID并从req.params.id中获取ID。 我的代码不工作。 我究竟做错了什么? //delete user router.get('/deleteuser/:id', function(req, res){ var db = req.db; db.users.remove({'_id':req.params.id}, function(err, docs) { if (err) return err; res.send(docs); // see results }); }); 我意识到我需要在req.params.id之前添加“ObjectId”。 但是,连接不起作用。 我有这个到目前为止。 有另一种方法: //delete user router.get('/deleteuser/:id', function(req, res){ var db = req.db; var objId = 'ObjectId("' + req.params.id + '")'; console.log(objId); db.users.remove({"_id": objId}, function(err, docs) { //db.users.remove({"_id": […]