草庐IT

grouped-collection-select

全部标签

mongodb - 蒙戈 : Selecting X elements from an array placed in an object

我在MongoDB中为用户创建了以下集合:{"_id":1,"facebook_id":XX,"name":"JohnDoe","points_snapshot":[{"unix_timestamp":1312300552,"points":115},{"unix_timestamp":1312330380,"points":110},{"unix_timestamp":1312331610,"points":115}]}是否可以编写一个查询,通过该查询我可以获得id1的用户以及特定日期后的快照。例如:1312330300?基本上将快照限制为符合某些条件的X个数字?到目前为止,我已经在

javascript - $project 上的 mongo-aggregation : apply regex grouping, 字符串处理

我想在执行$project时应用一些简单的字符串操作,是否可以在$project上应用类似以下函数的东西?:varthemeIdFromZipUrl=function(zipUrl){returnzipUrl.match(/.*\/(T\d+)\/.*/)[1]};我正在使用以下查询:db.clientRequest.aggregate({$match:{"l":{$regex:".*zip"},"t":{"$gte":newDate('1/SEP/2013'),"$lte":newDate('7/OCT/2013')}}},{$project:{"theme_url":"$l","_

mongodb - Mongos 需要数小时才能到达 'show collections'

我有一个mongo2.4.8集群。我的软件动态分区数据,我现在有大约30,000个分片集合。集群目前只包含一个分片(这是一个副本集);它是一个允许future轻松扩展的集群。当我开始一个新的mongos处理并运行showcollections,需要几个小时才能完成。在此期间mongos对所有客户端都没有响应(但集群很好)。如果我从不运行showcollectoins,通过mongos的所有其他操作正常工作。最终showcollections完成,然后是mongos工作正常,正在运行showcollections再次在同一个mongos马上返回。我只是在需要重新启动mongos时才发现有

mongodb - meteor JS + MongoDB : How should I set up my collections when users can have the same document?

我不太确定如何用一句话表达我的问题,但这里有更深入的描述。我正在构建一个Meteor应用程序,用户可以在其中“拥有”同一文档。例如,一个用户有一个他拥有的电影列表,当然多个人可以拥有同一部电影。为此,我想到了多种构建数据库/集合的方法,但我不确定哪种方法最好。我还应该注意,电影信息来自外部API,当人们在我的应用中找到它们以加快下一次查找时,我目前正在将其存储到我自己的数据库中。选项1(我当前的配置):一个存储所有电影及其信息的集合(电影)。另一个集合,基本上根据userId在每个文档中存储电影ID列表。启动时,我获取ID列表,在我的数据库中找到电影,并将它们存储在本地集合中(其中有3

python - 如何在 python 中为 db.collection.group() 编写 mongodb 查询

我正在处理MongoDB查询db.BH.group({"key":{"AccountId":true,},"initial":{"count":0},"reduce":function(obj,prev){if(true!=null)if(trueinstanceofArray)prev.count+=true.length;elseprev.count++;},"cond":{"$or":[{"Url":{"$regex":"(google)"}},{"Url":{"$regex":"(facebook)"}}]}});查询在MongoDBShell(Robomongo)中运行良好。

mongodb - 为什么 MongoDb 分片中 Collection 的文档数量在减少

我有一个mongo分片集群,有3个分片,对该数据库的所有操作都是find或update(使用upsert=true选项)。这意味着collection的计数会一直增加,但是当collection的计数(db.mycollection.find().count())增加到80000000或者更大的时候,我发现有时候是在增加,但是有时它会减少,为什么?我保证不会对此数据库执行任何删除操作。我正在使用db.myCollection.getShardDistribution()来显示分布,shard2只有29%,低于平均水平。计数趋势如下:mongos>db.myCollection.find

node.js - MongoDB - Mongoose : Aggregate generation, $match $group $project

我是mongoDB世界的新手。我正在使用expressJS和mongoose作为数据库在nodeJS上开发一个网站。我正在研究图形方向,我用这个模型生成了一个数据库:varuserSchema=newSchema({profile:{sexe:String,//('male'or'female')age:String,//('kid','adult','old')rank:String,//('low','middle','high')},design:{luminosity:String,//('light','dark')color:String,//('blue','green'

mongodb - 1 :1 and group chat schema in NoSQL/MongoDB

我想为一对一和群聊事件创建一个聊天应用。我已经为这两种情况创建了一个模式:{//group"id":1//idofthegroup"name":"ChatGroup"//nameofgroup;iftherearemorethan2members"members":["member1","member2",...]//idsofthegroupchatmembers;onlytheyhaveaccesstotheJSONdocument"chatlog":["timestamp1":["member1","message1"],"timestamp2":["member2","mess

java - 如何使用 Java 运行 .group()

我在mongoDB中有这个查询,它产生了我想要的结果。但现在我正尝试在java中使用它。这是MongoDB中的查询:varred=function(doc,out){out.count_order++;out.sum_qty+=doc.quantity;out.sum_base_price+=doc.extendedprice;out.sum_disc_price+=doc.extendedprice*(1-doc.discount);out.sum_charge+=doc.extendedprice*(1-doc.discount)*(1+doc.tax);out.avg_disc+

mongodb - Mongodb $group 动态表达式

我有一组带有时间戳的日志,需要按一些不存在的“虚拟session”对这些日志进行分组。如果上一个session中的最后一次登录与本次session中的第一次登录之间有半小时,则新的分组session开始。例如我们有以下一组数据:[{id:"b4f0d0d7-495b-48db-95bf-d5ac0c8c9e9b"time:1461872894322timestamp:"Apr28,20167:48:14PM",},{id:"bf55ca2f-b544-406c-bed6-766a1204683d"time:1461872937941timestamp:"Apr28,20167:48:5