Tag: mongodb

mongodb安装失败

我需要学习node.js和mongodb,这要求我使用我的mac osx,所以我是shell命令行界面的新手。 问题:当我按照mongodb网站上的指示安装了mongodb并尝试运行时,出现以下错误消息。 任何想法出了什么问题? 我做了什么: brew install mongodb sudo mkdir -p /data/db sudo chmod 0755 /data/db sudo chown mongod:mongod /data/db 错误: chown: mongod: Invalid argument 我接下来做了什么: mongod 错误: Mon Nov 21 18:55:08 [initandlisten] MongoDB starting : pid=28304 port=27017 dbpath=/data/db/ 64-bit host=MacBook-Air.local Mon Nov 21 18:55:08 [initandlisten] db version v2.0.1, pdfile version 4.5 Mon Nov 21 […]

mongo:多个查询或不?

我想知道最好的方法来查询mongo数据库的许多对象,其中每个有一个_id的数组附加到它。 我也想抓住引用的对象。 对象的模式如下所示: var headlineSchema = new Schema({ title : String, source : String, edits : Array // list of edits, stored as an array of _id's … }); …如果需要的话可以参考: var messageSchema = new Schema({ message : String, user : String, headlineID : ObjectId // also contains a ref. back to headline it's incl. in […]

我不能用对象来查询mongoose吗?

在使用mongoose查询时,我使用对象作为标准时遇到问题。 var id = { cid: 111, vid: 222, pid: 333 }; // the following doesn't work at all Category.find({id: id}, function(err, docs) { //—-returns nothing. }); // while Category.find({'id.pid': id.pid, 'id.cid': id.cid,'id.vid': id.vid}, function(err, docs) { //—-returns some docs. }); // does work` 这是一个问题还是一个特征?

带有express和mongoDB的NodeJS应用程序

我正在编写这个迷你RESTful应用程序,将请求发送到不同的URL。 为此,我正在使用nodejs,并表示设置不同的path。 作为一个数据库,我正在计划使用monogoDB(由christkv开发的node-mongodb-native)。 我的代码(不包括mongo尝试)看起来像这样: app.js /** * Module dependencies. */ var express = require('express') , routes = require('./routes') var app = module.exports = express.createServer(); var Db = require('mongodb').Db; var Server = require('mongodb').Server; var client = new Db('test', new Server('127.0.0.1', 27017, {})); // Configuration app.configure(function() { app.set('views', __dirname + '/views'); app.use(express.bodyParser()); app.use(express.methodOverride()); app.use(app.router); app.use(express.static(__dirname + '/public')); […]

获取MongoDB中其他两个条目之间的所有条目

我有一个MongoDB集合的对象,它的_id属性是一个string。 我想对该集合执行.find()操作,对返回的游标执行.sort()。 然后,.toArray()的操作会给我一个特定顺序的文档数组。 但是,我不想提取所有这些文件,而只是其中两个之间的文件。 现在,我明白我可以执行一个.toArray(),将所有的结果都放在一个数组中,然后select两个文档之间的间隔,但这会花费太多的资源。 如果可能,我希望在执行.toArray()之前select该间隔,或者通常以最节省资源的方式select该间隔。 我试图完成的是.limit()和.skip()(分页)的替代方法,但是通过提供_id的“开始”和“结束”文档来指出时间间隔。 例如, .find().sort({_id: 1}).toArray()给出: {_id: "a", a: "First entry"}, {_id: "bar", a: "Third entry"}, {_id: "bar2", a: "Fourth entry"}, {_id: "bar3", a: "Fifth entry"}, {_id: "bar4", a: "Sixth entry"}, {_id: "foo", a: "SEcond entry"} 我需要find().sort({_id: 1}).allAfter({_id: "bar"}).allBefore({_id: "bar4"}).toArray(…); 给我: {_id: "bar2", a: "Fourth entry"}, {_id: "bar3", a: "Fifth entry"},

如何返回最后一个push()embedded式文档

我试图弄清楚这是否可能。 使用mongoose的博客示例来演示,但是我的实际使用情况稍微复杂一些: var Comments = new Schema({ title : String , body : String , date : Date }); var BlogPost = new Schema({ author : ObjectId , title : String , body : String , date : Date , comments : [Comments] }); var BlogPost = mongoose.model('BlogPost'); var post = new BlogPost(); 我需要创build一个新的评论,并将新评论返回给客户端。 作为embedded式文件的评论对我来说真的很方便,而且运行良好。 […]

无法使用Node.js和Mongoose插入到MongoDB

我有Node.js服务器和Exressjs / Mongoose即时通讯尝试插入一些embedded式文件到文件。 这里是代码: 节点代码: app.post('/addcomment/:id', function(request, response){ var sys = require('util') , mongoose = require('mongoose'); mongoose.connect('mongodb://localhost/test'); Schema = mongoose.Schema; var CommentSchema = new Schema({ descr: String }); var IssuesSchema = new Schema({ name: String, comment: [CommentSchema] }); mongoose.model('tasks', IssuesSchema); var Issues = mongoose.model('tasks'); var taskid = request.params.id; var user = "test"; var comment = […]

如何closures到MongoDB服务器的所有连接

我正在使用Node MongoDB本机驱动程序连接到MongoDB数据库: // Open a connection db.open(function (err, db) { db.close(); }); // Open another connection db.open(function (err, db) { db.close(); }); 我看到在mongodb.log文件中接受了两个连接,但只有一个连接。 而程序没有退出,我认为它还在等待第二个连接被closures。 你如何closures所有的连接?

对这个后端堆栈的反馈

我打算设置一个可扩展的体系结构,能够在REST接口上提供Web服务,从而实现JSON的发送。 对于CRUD web 2.0应用程序,Web服务将非常简单。 我觉得javascript(nodejs + mongodb)是一个不错的select,原因如下: 很容易findJavaScript开发人员 很好的performance 易于扩展 在数据库查询语言,后端和Web客户端之间共享逻辑/语言或可能的代码重用。 有testing和日志框架的节点 通过我所看到的例子,节点在实现Web服务所需的代码行方面看起来很轻。 问题: 我想扩展一个节点应用程序,提供一个Web服务作为有一个中央节点将路由/平衡收费的每个节点实例。 这也将有助于进行无缝更新,有没有已经实施的软件可以适应这一任务? 请指出您在此后端堆栈中find的所有缺点或其他优点 如果您觉得这个问题引发了太多的争论,并且不符合计算策略,请指出一个我可以得到反馈的论坛。 除MongoDB以外的其他任何好的持久select? 主要是这个select来自JavaScript查询语言和JSON模式。

在Windows Azure上使用MongoDB运行Node.js的问题

我一直在努力做这个教程, https: //www.windowsazure.com/en-us/develop/nodejs/tutorials/web-app-with-mongodb/,基本上使一个简单的node.js应用程序有访问到Mongo DB。 使用命令Start-AzureEmulator在本地启动程序时,我一直遇到以下问题: “不能连接,因为目标机器主动拒绝它127.0.0.1:27017” 我尝试了各种端口和configuration没有成功。 奇怪的是,当我运行mongodb.exe时,数据库启动时没有打嗝(这只是通过不在Azure模拟器内的命令行)。 我也曾尝试多次重新安装所有的工具。 看来我不知道下一步该做什么。 有没有人遇到过这个问题或已经能够完成本教程? 作为一个侧面说明,你们是否知道任何允许使用带有node.js的套接字的云提供者? 这是我尝试使用Azure的主要原因之一。