草庐IT

query-performance

全部标签

performance - mongodb 许多插入\更新性能

我正在使用mongodb来存储用户的事件,每个用户都有一个文档,其中包含一系列事件。系统每分钟处理数千个事件,并将每个事件插入到mongo。问题是我的更新操作性能不佳,使用分析器,我注意到WriteResult.getError是导致性能影响的那个。这是有道理的,更新是异步的,但是如果要检索操作结果,他需要等到操作完成。我的问题是,有没有办法保持更新异步,但只有在发生错误时才会出现异常(99.999次没有错误,所以系统什么都不等待)。我知道这意味着异常将在流程中更靠后的某个地方引发,但我可以接受。还有什么建议吗?该应用程序是用Java编写的,因此我们使用的是Java驱动程序,但我不确定

performance - Mongodb 多重查询或数据库规范化

我正在为我的数据库使用MongoDB。我目前正在处理的查询揭示了我的架构中可能存在的缺陷。以下是我收藏的相关布局。请注意,games.players是一个包含2个玩家的数组,因为游戏是国际象棋。users{_id,username,...}games{_id,players[],...}msgs{_id,username,gameid,time,msg}我需要的数据是:Allmsgsforgameswhichauserisinwhichisnewerthanagiventimestamp.在SQL数据库中,我的查询类似于:SELECT*FROMmsgsWHEREtime>=$timeA

mongodb - 蒙戈 : querying for values nested in child arrays where keys are variable

我正在尝试构建一个Mongo查询,我可以在其中根据子数组中的值选择文档,其中嵌入数组的键会随着文档的不同而变化。在下面的示例中,我们有三个文档数组。提取每种酒的名称是微不足道的。当我想选择品尝结果大于20的Wine时,问题就来了。问题是我在运行查询时不知道航类名称;它可以是任何东西。因此,我不能只检查嵌入式数组的值。我想过类似的事情$ary_query=array('tasting_results.*'=>'$gt:20');但显然通配符在Mongo中不起作用(至少不是那样)。有什么想法吗?这是示例数组:ary_wines=array("name"=>"Ripple","year"=>

performance - mongo 高效地从大集合中删除数据

我收藏了数以百万计的条目。我想有效地删除所有数据,但不删除集合。最好的方法是什么?db.some_coll.remove({})需要很多时间!!! 最佳答案 Whatisthebestwaytodothat?你找到了。只有两种方法可以清除集合:db.some_coll.remove({}):一次删除所有内容。这需要很长时间,因为每次删除都和插入一样昂贵。db.some_coll.drop():简单地清除整个集合。Iwanttoremoveefficientlyalltheentiredata,butwithoutdroppingth

c# - FluentMongo LINQ : How to query a sublist of a class

假设我有这样一个类:publicclassBOa{publicObjectIdId{get;set;}publicstringName{get;set;}publicListVisiteEffettuate=newList();}publicclassBOvalues{publicDateTimeData{get;set;}publicintAge{get;set;}publicintScore{get;set;}}明确地说,在MongoDB中,我有许多BOa的集合。他们每个人都包含许多(一系列......)BOvalues我想知道如何使用FluentMongoLINQ(或其他方法)获

mongodb - Mongoose query.populate 只返回 objectId

当尝试填充一个字段时,所有返回的都是最初为该字段保存的objectid在models/gifts.jsvarGiftSchema=newSchema({name:String,owner:{user:{type:Schema.Types.ObjectId,ref:'User',required:false},nonRegisteredEmail:{type:String,required:false},nonRegisteredName:{type:String,required:false}},description:String,url:String}});module.expor

javascript - MongoDB 外壳 : Query BinData by Type

我正在尝试通过使用BinData的_id字段查询大型集合。其中一些ID使用类型4的BinData:"_id":BinData(4,"CNDF66qIlCY92q1vFAAAAQ==")虽然有些使用类型3的BinData:"_id":BinData(3,"CNDF66qJ29g92q1vFAAAEw==")我需要找到BinData.type=3的所有_id字段,并且想知道是否有人在MongoDBshell中幸运地进行了这样的查询。如有任何帮助,我们将不胜感激! 最佳答案 您可以使用$where样式查询来执行此操作,因为BinData对

performance - MongoDB:按名称未知的子文档排序

我有一个像这样的MongoDB集合:{id:"213",sales:{'2014-05-23':{sum:23},'2014-05-22':{sum:22}}},{id:"299",sales:{'2014-05-23':{sum:44},'2014-05-22':{sum:19}}},我正在寻找一个查询,以让我的集合中的所有文档按总和排序(总和最大的文档...)。对于示例数据,它应该返回如下内容:{id:"299",sales:{'2014-05-23':{sum:44},'2014-05-22':{sum:19}}},{id:"213",sales:{'2014-05-23':{s

performance - MongoDB的奇怪插入时间

我需要保存很多传感器测量数据,我正在MongoDB上做一些基准测试。数据:这是我正在使用的“模式”:publicclassBetterConsolidatedTag{publicObjectIdId{get;set;}//////Thebasetimetowhichtheoffsetvaluesrelate.///publicDateTimeBaseTime{get;set;}//////Thenameofthedataseries///publicstringName{get;set;}//////Valuesoftheseriesinthistimeframe.Thevaluesa

performance - 在一个文档中存储多个大型数组 MongoDB

我正在创建一个具有类似Tinder功能的应用程序。目前,我将用户的喜欢、不喜欢和匹配存储在3个独立的集合中,这些集合的结构是这样的{"_id":"user1_ID","matches":[{"matchID":"user2_ID","time":"2015-01-1621:19:50America/Los_Angeles"}]}“_id”字段包含我们正在存储的匹配用户的ID,“matches.matchID”字段包含与某个用户匹配的用户的ID。“matches.time”字段包含他们与该用户匹配时的时间戳。Likes和Dislikes集合与matches集合相同,只是它们包含特定用户不