我有这样一个文档:{fax:'8135551234',cellphone:'8134441234'}有没有办法将此文档投影(无需小组阶段):{phones:[{type:'fax',number:'8135551234'},{type:'cellphone',number:'8134441234'}]}我可能会为此使用小组阶段运算符,但如果有任何其他方法我宁愿不这样做,因为我的查询还投影了几个其他字段,所有这些都需要$first只为小组赛。希望这很清楚。提前致谢! 最佳答案 MongoDB2.6引入了$map运算符,它是一个数组转换
我的MongoDb集合如下{"_id":ObjectId("5a187babdbf0a03cdca0d0bc"),"aggregationDate":"2017-10-31","ipaddress":"10.65.66.184","first":{"count":3},"second":{"count":2},"third":{"count":3},}{"_id":ObjectId("5a187babdbf0a03cdca0d0bd"),"aggregationDate":"2017-10-31","ipaddress":"10.65.66.182","first":{"count":
这个问题在这里已经有了答案: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中有一个非常大的项目集合,其架构无法更改。简化版本如下所示:{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”。因此,在具有多个地址
我有一个这样的文档:{"_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
考虑我要显示以下文档:{"_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
我想在执行$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","_
是否可以在同一阶段使用$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世界的新手。我正在使用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'
这个问题在这里已经有了答案:MongoDBAggregationQuery-RenameFieldsReturnedfromWithinEmbeddedDocuments(2个答案)关闭4年前。我有一个像下面这样的文档,{"_id":"59ba903dacea50d0d7d47168","sections":[{"_id":"59d9dd7947ce651544c5d4c1","sectionName":"Section1"},{"_id":"59d9dd8147ce651544c5d4c2","sectionName":"Section2"},{"_id":"59d9dd9747ce