Tag: mongodb

安装更新版本的mongodb for Travis-ci

在travis上运行testing时,当前的默认版本是2.4.12,在运行我的testing之前需要更改。 有什么办法从我的Travis文件configuration这个?

如何从mongodb获取数据,并使用nodejs显示为d3图表

我正在使用这个回购 。 这个回购提供显示来自fixture_data.json文件中的内部数据的图表。 现在我想显示使用mongodb的数据。 然后我做一些改变 app.js var express = require('express'); var app = express(); var MongoClient = require('mongodb').MongoClient, mongodb = require('mongodb'), Server = require('mongodb').Server; app.engine('.html', require('ejs').__express); app.set('views', __dirname); app.set('view engine', 'html'); var mongoclient = new MongoClient(new Server("localhost", 27017)); var db = mongoclient.db('mydb'); var fixtureData = require('./fixture_data.json'); app.locals.barChartHelper = require('./bar_chart_helper'); app.get('/', function(req, res) { res.render('index', { […]

带有dynamic嵌套对象的mongoose模式

我试图创build一个文档模式,我将有一个dynamic的对象。 例: var ModuleSchema = new Schema({ name : String, description : String, type : String, age : String, options : {} }); 是否有可能做到这一点 选项:{} 像那样? 与任何内部的任意属性。 我得到TypeError: Cannot read property 'find' of undefined当我尝试访问路由/api/something来获取集合中的所有文档时, TypeError: Cannot read property 'find' of undefined 。 这可能是因为我已经定义了模式。 有任何想法吗? 编辑: var Module = require('../models/module');var auth =require('../config/auth');module.exports = function(router,Module){ router .get('/api/modules' […]

无法将用户加载到会话中

由于某种原因,testing我的身份validation ,我创build了一个用户login8 === D和密码123 ,然后passportjs说,当我尝试login时,它无法序列化该用户,但与任何常规像用户名bill@kentucky.com然后它工作正常,并login序列化用户。 我也可以提供代码作为例子,但它是否具有奇怪的字符( 如'=' )呢? 另外为什么我可以用.id而不是._id来序列化,为什么这样做呢? 我使用mongoDB,它总是生成一个_id 。 exports.postLogin = function(req, res, next) { // Do email and password validation for the server passport.authenticate('local', function(err, user, info) { if(err) return next(err); if(!user) { req.flash('errors', {msg: info.message}); console.log("ERROR BOYS"); } // Passport exposes a login() function on req (also aliased as logIn()) that […]

filter几何查询附近的环回

我试图得到一个半径范围内的用户(Cronies)。 我正在使用mongodb + loopback,并可以通过远程方法成功查询位置。 然而,当我尝试通过api资源pipe理器提供附近的where参数时,我得到一个错误,如下所示: 参数提供为“where”: {"last_location": {"near": [-33.8670522,151.1957362]}, "maxDistance":1} 请求url: http://localhost:3000/api/Cronies/count?where=%7B%22last_location%22%3A%20%7B%22near%22%3A%20%5B-33.8670522%2C151.1957362%5D%7D%2C%20%22maxDistance%22%3A1%7D&access_token=AYlOjRtu77JWNywHVMtRqEAZfLzKNyq2OFV31ZKHaUSQBNZojxSJb9Q5QI7RjAXc 错误: { "error": { "name": "MongoError", "status": 500, "message": "error processing query: ns=fresh.Crony limit=0 skip=0\nTree: $and\n maxDistance == 1\n GEONEAR field=last_location maxdist=1.79769e+308 isNearSphere=0\nSort: {}\nProj: {}\n planner returned error: unable to find index for $geoNear query", "ok": 0, "errmsg": "error processing query: ns=fresh.Crony limit=0 […]

mongoose如何查询多个文档,如果没有find,保存并返回ID?

我正在尝试创build一个查询以满足以下条件: 在集合中search具有指定名称的文档。 如果集合中不存在具有指定名称的文档,请创build新文档。 返回文件的.id文件,不pipe是新保存还是不保存。 如何在不使用for循环的情况下实现这一目标? var tagArr = req.body.tags.join() Tag.find({tagName: {$in: tagArr}}, function(err, docs){ // find the tag._ids by tagNames // if tag not found, create a tag // return old and new tag_ids with the tagNames }

Express:查询是否存在文档

我正在使用mongo在Express中开发一个应用程序。 我必须检查集合中是否存在特定的文档。 我正在这样做: router.route('/').post(function (req, res, next) { var name = req.body.name; var dept = req.body.dept; var arr = mongoose.model('User').find({'name': name, 'dept': dept}); if(arr.length() > 0){ //do something } } mongoose.model('User').find({'pemail': email, 'password': password}); 实际上返回,因为当我运行的应用程序,它给了我这个错误: TypeError:undefined不是一个函数 任何帮助?

插入一个JSONvariables

我的代码如下: req.on('data', function(chunk) { console.log(JSON.stringify(chunk.toString('utf8'))); db.collection('collectionname').insert(chunk.toString('utf8'), function(err, result) { if (err) throw err; if (result) console.log("Added!"); }); }); console.log以JSON格式打印正确的消息,但是这个代码不能在MongoDB中插入块。 所以我的问题是如何在MongoDB中插入JSONvariables。 提前致谢。

如何插入一个位置的MongoDB集合

我试图插入不同的项目到MongoDB集合,但我想要项目被插入在数组的顶部,所以当检索收集项目,我可以让他们sorting。 我正在使用这个代码: var json = { title : title, postid : postid, image : image, decription : description}; collection.insert(json, function (err, result) { if (err) { console.log(err); } else { console.log('Here we go', result.length, result); } }); 而这个代码来检索收集项目: collection.find().toArray(function (err, result) { if (err) { console.log(err); } else if (result.length) { first_item = result[0].postid; console.log('Found:',first_item); […]

Express:将文档embedded到现有文档中

我正在开发Express , Node和Mongo应用程序作为数据库。 我有一个收集users , user可以有多个registered-IDs 。 这就像one-to-many关系。 我想在这样的用户集合中embedded一个document : post(function (req, res, next) { var pid=req.body.pid; var sid=req.body.sid; var rfname=req.body.rfname; var des=req.body.des; var brand=req.body.brand; var model=req.body.model; var serial=req.body.serial; var location=req.body.location; var arr={pid: 'pid', sid: 'sid', rfname: 'rfname' ,des: 'des', brand: 'brand', model: 'model' ,serial: 'serial', location: 'location'}; mongoose.model('User').findOne({'pemail': req.session.email}, function (err, user){ if(err){ } […]