Articles of mongodb

在MongoDB中访问控制

比方说,一个应用程序是纯粹使用JavaScript和node.js直接连接到MongoDB的后端。 在这种情况下,有可能有一个安全的应用程序,用户login和权限分离像pipe理/用户/来宾。 如果是这样如何工作? 它需要什么?

如何获取NodeJS中的callback函数返回值

下面是代码使用mongoskin进行mongodb与nodejs的访问。 我如何从外部访问callback函数的返回值? app.get('/', function(req, res) { var ret = db.collection('counters').findAndModify( {_id: 'messagetransaction'}, [], {$inc : {next: 1}}, true, true, function(err, counter) { if (err) { throw err; }else{ console.log(counter.next); return counter.next; } } ); }); console.log(ret); 我得到了如下错误, ReferenceError: ret is not defined 请帮助我!

为什么我的Mongoose模型不能加载?

这是我的locationsModel.js文件: var LocationSchema, LocationsSchema, ObjectId, Schema, mongoose; mongoose = require('mongoose'); Schema = mongoose.Schema; ObjectId = Schema.ObjectId; LocationSchema = { latitude: String, longitude: String, locationText: String }; LocationsSchema = new Schema(LocationSchema); LocationsSchema.method({ getLocation: function(callback) { return console.log('hi'); } }); exports.Locations = mongoose.model('Locations', LocationsSchema, 'locations'); 在我的控制器中,我有: var Locations, mongoose; mongoose = require('mongoose'); Locations = require('../models/locationsModel').Locations; exports.search = […]

将variables传递到node.js mongoose查找查询

我希望你们能帮忙 我对node.js / mongodb相当陌生,而且在将variables传递给mongoose模型查询时遇到了问题。 如果我运行这个,作为string手动传递经度/纬度(-0.18,51.24),那么它完美的工作,并从数据库中返回大量的对象。 Venue.find( { location : { $nearSphere : [-0.18, 51.24], $maxDistance : 25/3959 } }, null, {limit: 50}, function(err, results){ results.forEach(function(result){ console.log('Found a record'); }); }); 但是,如果我尝试并将这些坐标作为variables传入此函数运行它不会返回任何结果: function generateWorld(get) { console.log('Generating for x:' + get.longitude + ' y:' + get.latitude); // Console logs correct coords Venue.find( { location : { $nearSphere […]

node.js,testing一个mongodb保存和加载

也许我只是无法找出callbackyness,但我不能找出一种方法来testingnode.js中的保存和加载。 我的testing是这样的: vows.describe('Saving').addBatch({ 'Single item can be saved':{ topic:function () { myStore.saveItems(1, [{id:3,name:'squat'}]); myStore.getItems(1, this.callback); }, 'saved item is returned by getItems':function (err, items) { assert.equal(items.length, 1); assert.equal(items[0].deviceId, 1); assert.equal(items[0].id, 3); } } }).export(module); 有了这个testing: exports.saveItems = function (deviceId, items) { var itemsCollection = db.collection('items'); itemsCollection.find({deviceId:deviceId}).toArray(function (err, existingItems) { _.each(items, function (item) { item['deviceId'] = […]

Node.js和Rails应用程序托pipe一个共享的MongoDB数据库和定价

最近我一直在用node.js以及rails和mongoDB进行大量的实验。 我想知道是否有任何托pipe选项,我可以部署我的应用程序写在rails和node.js将共享相同的MongoDB数据库? 我的Rails应用程序将执行大部分写入到mongoDB实例,而node.js应用程序将只从中读取(读取)数据。 我听说过heroku,但似乎更关注中大规模的部署,而目前我只是在寻找一个简单的小型部署,因为这只是个人使用,而且我也不会期望太多的访问者。 我也听说Heroku在一定的条件下是免费的。这是真的吗? 另外,谷歌应用程序引擎是我的select吗? 希望听到有经验的人托pipe他们的个人rails / node.js应用程序与heroku或任何其他托pipe选项,包括共享托pipe以及。 谢谢。

Windows Azure中的node.js应用程序部署

我已经使用node.js,mongodb,redis,express,socket.io构build了我的应用程序,并计划将其部署在Azure中。 我已经看到azure对node.js有很好的支持,它也支持mongo。 但是我不太确定它是否支持redis。 redis好像是在unix / linux下准备好了,但是还没有准备好用于windows,尽pipe它在那里工作。 那么我们可以在一个azure色的linux虚拟机,并安装redis吗? 可能吗 ? 我可以带1个节点的虚拟机,1个为mongo,1个为redis? 如果我有一个群集节点,socket.io会有什么问题吗? 是否需要Nginx? 请把它作为在Azure中部署node.js应用程序的第一个计时器的问题。

如何从MongoJS查询输出中select值

我有MongoJS查询调用: db.users.find({username:"eleeist"},function(err, docs) { console.log(docs); }); docsvariables在控制台输出中看起来像这样: [ { _id: 4fee05662b17f88abbeb60b6, username: 'eleeist', password: 'test' } ] 我想显示用户eleeist的密码。 我试过docs.password但得到可怕的错误。 那么如何从返回的查询结果中select值呢?

DB-ref在没有Schema.ObjectId的mongoose?

在我的代码中,人们可以跟随其他人。 到目前为止,除了这个事实之外,一切都还好:在userScheme中我有这个字段。 , following: [{ type: Schema.ObjectId, ref: 'Users' }] 由于每个用户都有一个用户名,所以我使用dbref的用户名更加通用。 有没有办法做这样的事情? , following: [{ type: Users.username, ref: 'Users' }] 非常感谢,g

MongoDB Node.js地理位置

我想知道是否有任何例子是由基本的地理位置input和数据库检索给定的input在某一地区,最好是用户的当前位置。