草庐IT

mongo-collection

全部标签

mongodb - 庞大的 Mongo 数据集。我需要多少 RAM 以及如何避免因支付托管费用而被毁掉?

所以,我有一个我称之为巨大的mongo数据库,大约30Gb(大约3000万个文档)。我试图在与另一个应用程序共享的服务器上运行mongod,但速度完全变慢了。所以我必须寻找专用服务器,但不知道我需要多少RAM。我知道我可能需要足够的RAM来放置所有索引。但是,如果我是正确的,那将是大约13Gb的RAM,这使得服务器的价格非常非常昂贵(我的应用程序还没有赚到钱)。我试图调查mongoHQ,但他们最便宜的专用计划是每月600美元。有什么想法吗?像那样托管繁重的mongo数据库真的那么昂贵吗? 最佳答案 构建您自己的服务器并托管它,而不是

java - 使用java驱动程序从mongo db获取嵌套文档

我需要为集合中的文档创建对象图。我能够得到所有的键值对。这是执行此操作的代码:importcom.mongodb.*;importjava.util.*;publicclassGetKeyValuePair{publicstaticvoidprint(DBObjectdoc){SetallKeys=doc.keySet();Iteratorit=allKeys.iterator();while(it.hasNext()){Stringtemp=it.next();System.out.print(temp+"-");if(doc.get(temp)instanceofBasicDBOb

mongodb - NoSQL(Mongo)的面向文档的数据抽象层?

我正在构建一个服务器应用程序,该应用程序通过RESTful网络服务连接世界并使用MongoDB存储。碰巧的是,Web服务的JSON资源与存储在Mongo中的BSON文档的结构非常接近。虽然我通常使用面向对象的DAO抽象来隐藏持久性实现的细节,但它似乎并不是这种情况的最佳选择,因为我真正想做的是获取文档基于查询从数据库中获取并执行转换。构建对象图作为中介似乎有些过分。有人对符合此要求的抽象模式有任何建议吗?编辑:删除了凌晨1点关于不使用任何抽象并直接使用Mongo驱动程序的递减。 最佳答案 抽象级别取决于您、您的需要和要求。在nati

mongodb - Mongo 映射/减少大型集合的减速

我们有一个看似简单的map/reduce作业,它每天都要处理日志记录数据。在开发服务器上,我们可以对大量文档(约1M)运行此作业,大约需要一分钟,没有任何问题。我们将作业移至生产服务器,即AmazonEC2服务器,该作业将以非常快的速度处理大约50%的行,然后爬取其余数据。浏览数十万份文件可能需要数小时,而不是预期的一两分钟。所以我希望我们在map/reduce作业中犯了一个明显的错误。这是一个示例输入文档:{"_id":ObjectId("4f147a92d72b292c02000057"),"cid":25,"ip":"123.45.67.89","b":"Mozilla/5.0(

node.js - 'db.collection' 与 'new mongo.Collection' 之间的区别

在方法1和方法2之间是否有任何区别(除了方法1是异步的)以获取对如下所示的mongodb集合的引用?varmongo=require('mongodb');vardb=newmongo.Db('blog',newmongo.Server(host,port,{auto_reconnect:true},{}));db.open(function(){//Method1db.collection('articles',function(err,result){varcollection1=result;});//Method2varcollection2=newmongo.Collecti

php - Mongo/PHP 包装器错误 - 我如何让包装器工作?

尝试连接到mongo服务器时出现此错误:Unabletofindthewrapper"mongodb"-didyouforgettoenableitwhenyouconfiguredPHP?连接字符串如下所示:$conn=newMongo("mongodb://XXXX:XXXX@XXX.member0.mongohq.com:10021/XXX",array("replicaSet"=>'rsname'));我试着找出qhat包装器可用:var_dump(stream_get_wrappers());得到以下内容:array0=>string'https'(length=5)1=>s

mongodb - 作业队列的正确 mongo 模式设计是什么?

我想在Mongo中实现一个作业队列。整个软件系统都是基于Mongo的,所以它看起来很自然并且可能很适合。jobs集合将每个作业状态存储为一个文档。根据我的查询需求,我认为这是一个无上限的集合。jobs文档如下所示:{"_id":ObjectId("50a6742ee4b0a9a1c2cb4fd4"),"type":"archive_job","state":2,"priority":1,"timing":{"submitted":ISODate(...),"running":ISODate(...),"completed":ISODate(...),"failed":null,"can

mongodb - 为什么 mongo db serverStatus connections current 不等于 netstat count

正如问题所说我登录了mongos,并执行了db.serverStatus().connections,如下所示mongos>db.serverStatus().connections{"current":110,"available":19890}但是,当我使用$sudonetstat-nap|grepmongos-c1369如你所见,它的计数是1387还有$sudonetstat-nap|grepmongos|grepESTABLISHED-c1366我的问题是:为什么这两个计数不一样(甚至不相似)???请指路,谢谢! 最佳答案

node.js - 在 Node + Mongo 中强制执行单个 DB Writer

为了减少读取时间,我对存储在MongoDB中的一些数据进行了非规范化处理。每当我执行写操作时,都需要刷新它,以使其与底层数据保持一致。为避免出现任何竞争情况,我想将其拆分为单线程的后台任务。在Java中,我会简单地将Command对象放入队列中,并让读取器线程一次处理一个对象。但是在Node中,每当我执行任何类型的数据库操作时,它都会异步发生,因此我会遇到竞争条件问题。我想做的事的例子:应用线程插入新的“出价”将“BidPlaced”对象放入队列后台线程弹出“BidPlaced”从所有出价中找出最大值(价格)。更新Auction.highestBid。我仍然在思考Node的并发模型(如

mongodb - 如何正确映射我的对象以使对象列表在 mongo + play2 中工作

我正在尝试在阅读后为我的案例类写读者/作者:https://github.com/sgodbillon/reactivemongo-demo-app/blob/master/app/models/articles.scalahttps://github.com/zenexity/ReactiveMongo/blob/master/driver/samples/BSON.scala但我在让它工作时遇到了麻烦。我有一个leadCategory,它可以包含多个单词对象。packagemodelsimportorg.joda.time.DateTimeimportreactivemongo.b