草庐IT

MY_PROJECT

全部标签

node.js - $lookup 聚合中的 $project

这个问题在这里已经有了答案:excludefieldsin$lookupaggregation(1个回答)关闭4年前。所以我有以下文件{"_id":"5b7dfee3130dd4ff45288882","name":"test",..."list":{"_id":"5b7dfee2130dd4ff45288875","name":"test"...}}我应该如何投影所有主要文档的字段,同时只投影list的_id和name,鉴于list是通过lookup+unwind创建的,即{"$match":match},{"$lookup":{from:"lists",localField:"li

mongodb - $project MongoDB 聚合中的不同项目

我在mongodb中有一个非常大的项目集合,其架构无法更改。简化版本如下所示:{event:{address:{ip:"1.1.1.1",port:80}}}{event:{address:{ip:"1.1.1.2",port:80}}}{event:{address:[{ip:"1.1.1.1",port:80},{ip:"1.1.1.1",port:443}]}}{event:{address:[{ip:"1.1.1.1",port:8080},{ip:"1.1.1.2",port:443}]}}每个事件可能有一个或多个地址。每个地址都有“ip”和“port”。因此,在具有多个地址

名称中带有空格的字段的 MongoDB $project

我有一个这样的文档:{"_id":NumberLong(111603),"max":"CreatedAt","document":{"_id":ObjectId("54ad61013e016de5798c0582"),"testfield1":"ISUZU(GM)","Model-Range":"N-series","testfield2":"NNQR75",}}我想汇总包含许多此类文档的集合。我在$project步骤中遇到“模型-范围”问题。目前我正在使用db.AE.aggregate([{"$project":{"Make":"$document.testfield1","Mode

mongodb - 如何在 mongodb 聚合 $project 中创建虚拟字段和硬编码值?

考虑我要显示以下文档:{"_id":ObjectId("512bc95fe835e68f199c8686"),"AuthorName":"dave","VirtualField":"hardcoded_Value"}存储在MongoDB中的实际文档{"_id":ObjectId("512bc95fe835e68f199c8686"),"author":"dave","score":80}我可以做类似的事情吗:collection.aggregate([{$project:{_id:1,"AuthorName":"$author","VirtualField":"hardcoded_Va

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

python - Mongo 聚合 - 使用 $project 中创建的变量

是否可以在同一阶段使用$project阶段中定义的变量?例如,我有这个聚合管道:pipeline=[{'$match':{}},{'$group':{'_id':'$_id','n':{'$first':'n'}}},{'$project':{'name':1,'n':1,'revenue':{'$multiply':['$n',2]},'cost':{'$multiply':['$revenue',0.25]}}}]我想在相同的$project阶段使用$revenue变量(我在$project中定义)来计算cost的值,但这不起作用。有什么方法可以轻松高效地做到这一点?我想过做几个预

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

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 - 重命名 ($project) 数组中的字段 - MongoDB

这个问题在这里已经有了答案:MongoDBAggregationQuery-RenameFieldsReturnedfromWithinEmbeddedDocuments(2个答案)关闭4年前。我有一个像下面这样的文档,{"_id":"59ba903dacea50d0d7d47168","sections":[{"_id":"59d9dd7947ce651544c5d4c1","sectionName":"Section1"},{"_id":"59d9dd8147ce651544c5d4c2","sectionName":"Section2"},{"_id":"59d9dd9747ce

搭建自己的搜索引擎——oh-my-search使用

搭建自己的搜索引擎——oh-my-search使用使用elasticsearch和search-ui搭建自己的搜索引擎,快速查找资源和文件。如果对代码感兴趣,相关代码已在github上开源,欢迎fork代码。搭建elasticsearch先搭建eleasticsearch再搭建kibana搭建elasticsearchmkdirelasticsarchcdelasticsarchmkdir-p/es/pluginsmkdir-p/es/datamkdir-p/es/logsmkdir-p/es/configvimdocker-compose.yml编辑docker-compose.yml文件,