草庐IT

nosql-aggregation

全部标签

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

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

c# - 使用 NoSQL DB 作为 FileStorage 的建议,以及优点和缺点

我们正在评估静态文件存储(托管在多个地理位置)的替代方案。我们在Microsoft.NET平台上(C#、ASP.NET、WEBAPI、SQLSERVER)我们想在任何NoSQL数据库上存储数字Assets,主要是二进制(AI、PSD、JPG、PNG、PDF、XLS、DOC...)文件。对于图像文件,它可以包含缩略图(小尺寸)到原始艺术作品(大文件:范围从300MB到超过1GB)。缩略图会出现在网页上,但原件将作为附件提供,并带有编辑选项(用户可以下载原件并使用相应的程序进行编辑并更新版本)。每个缩略图和原件需要存储多个版本。我们不会在第3方平台(如AmazonS3、Azure)和CDN

python - Python 的 NoSQL 数据库独立 ORM/ODM

我正在研究使用NoSQL数据库(MongoDB)的软件架构。理想情况下,我想为此使用一个独立于数据库的ORM/ODM,但我找不到任何与用于NoSQL的SQLAlchemy类似的库。你知道吗?我确实找到了很多包装器,但似乎没有一个是独立于数据库的。如果没有,是不是因为所有的NoSQL数据库都有不同的用例,所以普通的ORM/ODM不像在SQL案例中那样有意义? 最佳答案 不确定python,但在Java中,您可以为此目的使用PlayORM等框架,它支持Csasandra、HBase和MongoDb。

MongoDB Aggregation 添加下一个文档(一个 Meteor App)

下面是我的发布函数,它几乎是AverageAggregationQueriesinMeteor的副本用途:显示文档列表。然后用户可以单击一项(餐厅)并可以查看详细信息。在详细信息中有上一个和下一个箭头,可以在列表中循环。我的想法是使用该聚合方法通过上一个和下一个文档ID丰富每个文档,这样我就可以轻松构建我的上一个和下一个链接。但是怎么办?我不知道。也许有更好的方法?Meteor.publish("restaurants",function(coords,options){if(coords==undefined){returnfalse;}if(options==undefined){

php - Symfony mongo-odm-aggregation-bundle 求和

首先,我不得不说我是mongo(3.2)的新手。我正在使用mongo-odm-aggregation-bundle适用于php框架Symfony(2.8.4)。我想获得受日期限制的某些字段的总和。到目前为止,我设法获得了所有记录的总和:$expr=new\Solution\MongoAggregation\Pipeline\Operators\Expr;$aq=$this->manager->getCollection('AppBundle:UserDaySums')->createAggregateQuery()->group(['_id'=>'client.$id','total'

mongodb - 如何在 MongoDB 中返回具有最近日期的元素

在MongoDB上,如何从此列表中选择具有最新日期的元素:[{"_id":ObjectId("5c5064f39d0c4b52cf6d1d55"),"Date":"12-09-2018","Type":"A","Value":73650.14},{"_id":ObjectId("5c5064f39d0c4b52cf6d1d15"),"Date":"12-09-2018","Type":"B","Value":73650.14},{"_id":ObjectId("5c5064f39d0c4b52cf6d1d58"),"Date":"13-09-2018","Type":"A","Valu

mongodb - 繁重的数学查询和 NoSQL 数据库

我有一个非常具体的数据格式和查询需求,我需要知道NoSQL数据库是否适合这个需求。我不是问“哪个数据库最好”。我对能力感兴趣。我需要以EAV样式存储数据。具有稀疏索引的文档存储非常适合这种情况。这样我就可以针对每个参数的值创建一个索引。查询时,只会触及需要的索引。例如,MongoDB就是完美的选择。这是需求#1。查询分两个阶段。第一个是“WHERE”的简单等价物,涉及一系列针对实数的操作。结果可能有数万条记录,但通常会有数千条记录。这是需求#2。第二阶段涉及繁重的数学运算,我必须对第一阶段的结果进行计算才能对它们进行排名。该数学涉及大量使用权力和更简单的操作。然后将结果按排名排序,并将

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","_

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