草庐IT

query-performance

全部标签

mongodb - Doctrine ODM/MongoDB : How to query for references within embedded documents?

我是DoctrineODM的新手,我完全被一个简单的查询所困:(让我从文档结构开始:Array([_id]=>4ee1e4527f749c9411000012[voteList]=>Array([_id]=>4ee1e4527f749c9411000013[votes]=>Array(...stripped...)[latest]=>Array([_id]=>4ee1e4527f749c9411000014[rating]=>1[voter]=>Array([$ref]=>Voter[$id]=>4ee1e4527f749c941100000f[$db]=>x_test)))...st

mongodb - Native Mongo Query Doctrine ODM

在关系数据库的Doctrine中,我们有QueryBuilder,可以手动编写DQL查询,如果我们真的必须,可以使用Doctrine的连接来执行原始SQL。我没有在doctrine的mongo项目中找到(也没有在API和文档中)执行此操作的方法。如何使用mongoodm执行native查询?(除了注入(inject)doctrine_mongodb.odm.default_connection,还是那真的是唯一的方法?) 最佳答案 在您的文档存储库中,您可以像这样添加一个私有(private)方法:privatefunction_g

performance - "nscanned"查询上的 "update"值非常高 - 似乎高于所有索引中所有条目的总和

我在偶尔的更新查询中得到非常高的“nscanned”数字,而“nscannedObjects”相对较低。我从mongodb日志中获取这些数字,作为慢速查询自动记录的一部分(这些更新需要100毫秒到500毫秒之间的任何时间)。更新后的集合有198K个项目,大小刚刚超过100MB。它有许多不同的字段(超过30个),以及这些字段及其组合的31个索引。这是来自MongoDB.log的完整条目-包括查询和结果:2014-09-22T11:55:22.507+0000[conn45755]updatemydatabase.mycollectionquery:{_id:ObjectId('53d13

performance - mongodb - 推荐用于大量数据点的树结构

我正在从事一个项目,该项目记录跨多个地区的商品价格历史记录,并且我计划将数据存储在mongodb集合中。由于我对mongodb比较陌生,所以我很好奇对于大量数据,推荐的文档结构可能是什么。情况是这样的:我正在记录200多个地区的大约90,000件商品的价格历史记录。我希望每小时记录每件商品的价格,并为任何给定商品提供2周的历史记录。结果大约是(90000*200*24*14)~=60亿个数据点,或者每个项目大约67200个。每天将运行一次清理查询以删除超过14天的记录(更具体地说,将其存档到gzip压缩的json/文本文件中)。就我将从中获取的数据而言,我主要对两件事感兴趣:1)特定区

mongodb - 一对多关系 : retrieving documents with a single query

回到经典的mongodb示例(帖子和用户):帖子:{title:"Greetings",body:"Helloworld",userId:12345}用户:{_id:12345,name:"JohnSmith",email:john@smith.org"}如何获取帖子{title:"Greetings",body:"Helloworld",:"JohnSmith"}用一个单一的查询? 最佳答案 MongoDB不是RDBMS-所以没有JOINS-要么使用两个查询,要么使用嵌入,要么查看“数据库引用”。

java - mongo-hadoop 连接器 :how to query data

我在java(spark应用程序)中使用hadoopmongo连接器。我已经通过设置此配置读取了mongodbConfigurationmongodbConfig=newConfiguration();mongodbConfig.set("mongo.job.input.format","com.mongodb.hadoop.MongoInputFormat");mongodbConfig.set("mongo.input.uri","mongodb://localhost:27017/MyCollectionName.collection");我可以添加什么来查询数据(比如.limi

performance - MongoDB:通过嵌套键与顶级键查找

选项1:{_id:ObjectId,text:String,author:{id:ObjectId,name:String,email:String}}选项2:{_id:ObjectId,text:String,authorId:Id,author:{name:String,email:String}}我有一个类似于上面选项1的Post文档架构。有一个单独的“作者”集合,上面的作者ID字段正在引用它。这里重复了“姓名”和“电子邮件”;Authorcollection上有更多的作者信息。我对Post集合的查询之一是查询某个作者ID的所有帖子。就性能而言,是否最好选择选项2,因为作者IDk

MongoDB : multiple specific collections or one "store-it-all" collection for performance/indexing

我正在记录用户在我们网站上进行的不同操作。每个Action都可以是不同的类型:评论、搜索查询、页面View、投票等……这些类型中的每一个都有自己的模式和公共(public)信息。例如:comment:{"_id":(mongoId),"type":"comment","date":4/7/2012,"user":"Franck","text":"Thisisasamplecomment"}search:{"_id":(mongoId),"type":"search","date":4/6/2012,"user":"Franck","query":"mongodb"}etc...基本上,

performance - MongoDB动态排名

我使用MongoDB并有一个包含大约100000个条目的集合。条目包含这样的数据:{"page":"page1","user_count":1400}{"page":"page2","user_count":1100}{"page":"page3","user_count":900}...我想根据user_count输出条目的排名,例如:#1-page1#2-page2#3-page3......到目前为止一切顺利。如果我只输出一个排序列表,我可以简单地使用循环计数器。但我还必须支持各种搜索查询。因此,例如我得到20个结果,并想显示结果的排名。喜欢:#432-page1232#32-p

mongodb - 如何使用 mongoengine 的 mongodb 的 query.explain()

我正在尝试分析我的查询性能并希望改进它们。我使用mongoengine包装器。尽管我正在使用查询日志并获取原始mongo查询并运行解释,但我无法找到使用mongoengine的explain()的方法我想通过mongoengine使用explain来简化我的监控。任何想法 最佳答案 你可以使用解释例如:MyDoc.objects(x=y).explain()参见:QuerySet.explain() 关于mongodb-如何使用mongoengine的mongodb的query.expl