草庐IT

投影projection

全部标签

javascript - MongoDB 限制字段和切片投影在一起

我有以下用户对象:{"_id":ObjectId("someId"),"name":"Bob","password":"fakePassword","follower":[...],"following":[..]}我需要对关注者列表进行分页,因此我使用切片投影运算符,但我只需要返回分页后的关注者列表。而且我不知道我是不是做错了,或者这做不到,但是限制字段不适用于切片投影。以下是我尝试过的几个查询:collection.findOne({_id:newObjectId(userId)},{follower:{$slice:[skip,parseInt(pageSize)]},follo

名称中带有空格的字段的 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 - 未定义数组的数组大小投影抛出错误

我正在尝试执行以下操作:foriinrange(5):collection.insert({'a':['1'forjinrange(i)]}ifielse{})#thecollectionnowcontains5documents:onewithonlyan_idfield#andfourwithan_idandanarrayofdifferentsizes.]list(m.aggregate([{'$project':{'a':1,'amt':{'$size':'$a'}}}]))但是,这会引发OperationFailure,因为没有为空文档定义$a。我如何告诉Mongo为空文档提

node.js - 投影不适用于查找查询

您好,我想通过查询排除一些字段。在使用nodejspublicasyncgetDoc(){returnnewPromise((resolve,reject)=>{this.database.collection('users').find({email:"value3"},{password:0}).toArray((err,result)=>{if(err){reject(err)}resolve(result);});})}但在结果集中我不断得到密码字段.. 最佳答案 投影不适用于新的nodejsmongodb驱动程序...相反

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

MongoDB : array element projection with findOneAndUpdate doesn't work?

我正在使用Mongoose,我正在尝试更新数组元素并将其恢复更新。这是我的文档结构:{name:String,friends:[{name:String,age:Number}]}当我执行以下查询时,我得到了结果中的所有friend,但我只想找回25岁的friend:theCollection.findOneAndUpdate({name:'cherif','friends.name':'kevin'},{$set:{'friends.$.age':25}},{friends:{$elemMatch:{age:25}}},function(err,result){if(!err){co

mongodb - 带投影的 Mongo 查询

在mongo中,如果条件匹配,如何从列表中返回所有匹配的dict元素。这是我的数据:{"packages":[{"package_name":"abc","installed_date":"2016-08-03"},{"package_name":"def","installed_date":"2016-08-04"},{"package_name":"ghi","installed_date":"2016-08-03"},]}我应该如何查询以获取所有匹配{"installed_date":"2016-08-03"}的字典我试过:db.resource.find({packages:{

node.js - Mongoose 错误不支持的投影选项 : sort: { createdAt: -1 }

我正在尝试按日期对我的mongoose条目进行排序,最近的在node.jsexpresswithmongoose中排在第一位。Mongoose查询是:FecalRequest.findOne({uid:req.user.id},{sort:{'createdAt':-1}},(err,fecalkits)=>{console.log(fecalkits);done(err,respiratorykits,fecalkits)});我已经尝试了created_at和createdAt。错误是eMongoError:不支持的投影选项:排序:{createdAt:-1}作为引用,FecalR

mongodb - 自定义函数计算列 mongodb 投影

我正在尝试使用投影来获取使用集合中列上的自定义函数计算的列,但我想不出如何去做。我能做的是:db.collection.aggregate([$project:{column1:1,calculatedCol:{$literal:[jaro_Winkler("howtoaccesscolumnname")]}])代码可能有语法错误,因为我现在没有代码。 最佳答案 您似乎认为可以在聚合管道中调用JavaScript函数,但您不能这样做。您误认为在管道内执行的函数结果实际上是变量的“插值”。例如,如果我这样做:vargetNumbers

python - MongoEngine:嵌入式文档中的数组位置投影

我正在尝试使用MongoEngine在python中重现以下查询,但没有成功。数据和查询的原始来源:http://docs.mongodb.org/manual/reference/projection/positional/#prj._S_查询基本上返回嵌入文档中匹配的第一个元素,而不是整个嵌入文档本身。我的代码:frommongoengineimport*connect('test')classStudent(Document):semester=IntField()grades=ListField(EmbeddedDocumentField('Grade'))classGrade