Articles of mongohq

通过ID查找MongoDB文档

我使用Node.js和MongoDB与MongoHQ(现在compose.io)上托pipe我的数据库。 我有一个普遍的理解文件ID转换为hexstring,但我不知道如何检索使用其ID的文件。 我的文档具有ID _id: ObjectId("53f13064b5a39cc69f00011b")就像它在Compose的界面中显示的一样。 当我通过蛮力检索文档时,ID显示为_id: 53f13064b5a39cc69f00011b 。 我在Node.js中使用什么来检索这个文档? 查询: systemData.find({_id: "53f13064b5a39cc69f00011b"}).toArray(function(err, data) {//do stuff} 返回一个空集,但查询对象ID对象也是如此 systemData.find({_id: new ObjectID("53f13064b5a39cc69f00011b")}).toArray(function(err, data) {//do stuff} 我错过了什么?

MongoHQ Node.js连接URL Conection失败

我有一个工作的Node.js应用程序设置和运行良好时使用我的本地开发MongoDB与这些设置和代码: var MongoDB = require('mongodb').Db; var Server = require('mongodb').Server; var dbPort = 27017; var dbHost = 'localhost'; var dbName = 'my-db'; var db = new MongoDB(dbName, new Server(dbHost, dbPort, {auto_reconnect: true}), {w: 1}); db.open(function(e, d){ if (e) { console.log(e); } else{ console.log('connected to database :: ' + dbName); } }); 但是,当我尝试与我的MongoHQ URI连接,我得到一个失败连接错误。 我不确定如何使用以上代码的URI:mongodb:// username:password@linus.mongohq.com:10022 / […]

用mongojs在heroku上连接到mongoHQ

我正尝试从我的node.js应用程序连接到mongoHQ。 这是我正在使用的代码: var databaseUrl = "mongodb://fishcuss:MyPassword@alex.mongohq.com:10015/app9759558" var collections = ["users"] var db = require("mongojs").connect(databaseUrl, collections); exports.register = function(req, res){ console.log("Register hit") var user = req.body; db.users.findOne({username:user.username}, function(err, users) { console.log(err) console.log(users); if( err || users) { res.statusCode = 500; res.end(); } else { console.log("Inserting new user") user._id = uuid.v4(); user.lists = []; db.users.insert(user,{},function(){ req.session.user=user res.write(JSON.stringify(user), […]

在MongoDB 2.4.9上为不同的用户创buildangular色

我是新来的mongodb,我试图了解和如何授予访问我的数据库的用户(我有一个mongoH数据库从mongoHQ沙箱512 MB免费)。 从我的mongo shell连接到我的mongodb后 我有一个名为事件的数据库,它包含2个集合 信息 提供商 我创build了2个用户: messageUser providerUser 我想要的是: messageUser只能读取消息集合,而不能读取,写入提供者集合 providerUser只有权限读取,写入提供者集合和读取消息收集权限 我发现db.addUser() – 版本2.4.9,但我不能定义集合的权限 示例 (从mongo shell成功连接到mongodb后): use event db.addUser( { user: "messageUser", pwd: "password", roles: ["read"] } ) 但是messageUser stil可以访问读取提供者集合 但我发现最新版本2.6.x db.addUser:[http://docs.mongodb.org/master/reference/method/db.addUser/#db.addUser]和db.createRole:[http:// docs.mongodb.org/master/reference/method/db.createRole/#db.createRole],我们可以定义更多'复杂的权限',例如:授予权限messageUser只在消息收集的权限操作上find操作:[http:// docs.mongodb.org/master/reference/privilege-actions/] db.addUser({ user: 'messageUser', pwd: 'password', privileges: [{ resource: {collection: "messages" }, actions: [ "find"] }], roles: [ "read"] […]

我在哪里可以find关于node-mongodb-native的完整文档?

遵循MongoHQ文档的指示 ,我使用npm安装了node-mongodb-native: npm install mongodb 然后按照说明中的说明继续连接到数据库,使用: var mongodb = require('mongodb'); mongodb.Db.connect(process.env.MONGOHQ_URL, function(error, client) { // do whatever here with client }); 它在当地和英雄都可以正常工作。 但是我找不到关于这个connect方法的任何文档。 我看了很多地方: github上的chriskv的node-mongodb-native文档 在github上的node-mongodb-native的文档 MongoDB的文档 但是我找不到有关connect方法的任何内容…

不能使用基于mongo的会话存储

我在ym app中有一个mongoose和connect-mongo模块实例。 我正在使用connect-mongo模块有一个会话存储在mongodb数据库(mongohq),而不是内存存储。 每当我尝试访问我的应用程序时启动服务器(脸书auth与everyauth)我得到以下内容: 500 MongoError:错误:未经授权的数据库:快速会话lockingtypes:-1客户端:199.192.242.4 我的用户名,密码都不错。 var conf = { db: { db: 'express-sessions', host: 'staff.mongohq.com', port: 10072, // optional, default: 27017 username: 'admin', // optional password: 'admin', // optional collection: 'facebookSessions' // optional, default: sessions }, secret: '076ee61d63aa10a125ea872411e433b9' }; app.use(express.session({ secret: conf.secret, maxAge: new Date(Date.now() + 3600000), store: new MongoStore(conf.db) })); 编辑,这似乎是我的mongohq问题。 我修改了一个较旧的集合,它的工作原理。

Node.js – 使用Heroku上的MongoHQ连接到MongoDB

我有一个使用Express的Node.js应用程序,它将数据存储在mongoDB(本地)中。 现在它被成功地推到了heroku上,并且服务器正在运行。 我通过terminal添加了mongohq插件。 现在…我如何通过mongohq将mongoDB连接到我的应用程序开始使用它? 我在网上没有看到这个教程。 如果你可以指向我,或者让我开始在哪里添加configuration,我将不胜感激! 非常感谢。 更新: 我已经尝试了以下(具有MYPASSWORD和MYDBNUMBER的真实值: 在routes.js中 var db = mongoose.connect('mongodb://heroku:<MYPASSWORD>@staff.mongohq.com:10049/<MYDBNUMBER>'); 在我的schema.js(也尝试使用heroku var mongoose = require('mongoose'); mongoose.connect('mongodb://heroku:<MYPASSWORD>@staff.mongohq.com:10049/<MYDBNUMBER>'); 我的package.json { "name": "NAME" , "version": "0.0.1" , "dependencies": { "express": "2.4.6" , "connect": "1.7.1" , "stylus": ">= 0.0.1" , "mongodb": ">= 0.9.6-7" , "mongoose": ">= 2.0.0" , "ejs": ">=0.4.3" } } 现在,只有根'/'GET成功。 其实,如果我尝试/页面/任何我可以成功地得到一个渲染的500错误页面,我做了处理企图得到'网页',还没有被创build…这似乎有点怪异的我。 其他一切给我一个内部服务器错误。 […]