草庐IT

投影projection

全部标签

c# - 使用 C# SDK 投影到另一种类型

在使用C#SDK查询MongoDB时,我希望能够投影到另一种类型。例如,下面我想使用MyType的构建器过滤器(或LINQ表达式)查询集合,但是我想将结果投影到MySubType。varmySubTypes=Database.GetCollection("MyCollection").Find(Builders.Filter.AnyIn(x=>x.Documents,documentId)).ProjectTo()//Projecttoanothertype??.ToList();可以想象MySubType是MyType的子集,使用继承表示:publicclassMyType:MySu

mongodb - 我可以在 findOneAndUpdate 的投影中访问位置 $ 运算符吗

我有这个有效的查询,但我希望文档只显示network.stations.$而不是整个数组。如果我写fields:network.stations.$,我会得到一个错误。有没有办法让文档只从[stations]返回单个元素?Network.findOneAndUpdate({"network.stations.id":req.params.station_Id},{"network.stations.$.free_bikes":req.body.free_bikes},{new:true,fields:"network.stations"},(err,doc)=>console.log(

mongodb - 重命名 ($project) 数组中的字段 - MongoDB

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

arrays - 对象数组上的 MongoDb 投影,仅获取匹配的对象

这个问题在这里已经有了答案:RetrieveonlythequeriedelementinanobjectarrayinMongoDBcollection(16个答案)关闭4年前。我有这样的mongo文档{"_id":"5b14679e592baa493e0bc208","productCode":"ABC","corridors":[{"countryNameEn":"Sweden","countryNameFr":"Suède","countryCode":"SE","currencyNameEn":"SwedishKrona","currencyNameFr":"Couronne

mongodb - 如何在更新后投影数组的最后一个元素

所以我有以下查询:ListModel.findOneAndUpdate({_id:list_id},{$push:{"items":{details:the_template}}},{new:true,projection:{items:1}})所以,这会返回更新文档的数组,但我如何才能只插入最后一个元素? 最佳答案 您可以使用$slice,在你的情况下:ListModel.findOneAndUpdate({_id:list_id,},{$push:{items:{details:the_template,},},},{new:t

javascript - 不使用 $project 将嵌套文档投影到根级别

使用聚合管道,我试图将嵌入式文档投影到根级别,而不单独投影每个字段,也没有替换根级别。例如,我想将这个集合投影到根级别:[{_id:"1",city:"NY"user:[{firstName:"John",lastname:"Peters",brothers:[{_id:"B1",brotherFirstName:"Karl"}]},{firstName:"Raul",lastname:"Other",brothers:[{_id:"B2",brotherFirstName:"May"}]},{firstName:"Paul",lastname:"Ray",brothers:[{_id

MongoDB 聚合 : $Project (how to use a field on the other field of the same projection pipeline)

这就是我希望我的聚合管道看起来的样子,我只是不知道如何正确地去做db.Collection.aggregate([{$project:{all_bills:‘$all_count’,settled_bills:{$size:’$settled’},overdue_bills:{$size:‘$overdue’},settled_percentage:{$divide:[‘$settled_bills’,‘$overdue_bills’]}}}])我想在同一投影管道上使用“settled_percentage”字段内的“settled_bills”和“overdue_bills”字段。怎

c# - 带有 Group Unwind 和 Project 的 MongoDb C# 类型聚合

我有一个这样的集合:[{"_id":1,"OtherProperties":100"PersonInventory":[{"FirstName":"Joe","MiddleName":"Bob","LastName":"Blogs","PersonId":1}]},{"_id":2,"OtherProperties":1005"PersonInventory":[{"FirstName":"Joe","MiddleName":"Bob","LastName":"Blogs","PersonId":1}]}]我正在尝试使用此处较新的类型推断mongodbc#驱动程序语法来选择根文档中的所

mongodb - 投影是否会减少查询和/或响应时间?

我一直在find()查询中看到投影参数,想知道添加它是否能让事情变得更快。我假设它适用于大型文档,但对于小型文档(例如10个左右的值)呢?我正在寻求优化执行许多小查询的项目。 最佳答案 你应该剖析。在MongoDBshell中,尝试db.collection.find().explain()。如果您有索引,那么它可能会有所帮助。索引查询更快,如果您的查询仅使用存储在索引本身中的字段,您将有一个coveredquery(cursor.explain()中的indexOnly)。projection参数有助于将查询转换为覆盖查询。如果插

MongoDB: Embedded Array $elemMatch(projection) 错误问题

>db.test.insert({"seq":"1","a":[{"k1":"11","k2":"12"},{"k1":"21","k2":"22"}],"b":{"a":[{"k1":"11","k2":"12"},{"k1":"21","k2":"22"}]}})>db.test.find({"seq":"1"},{"a":{$elemMatch:{"k2":"22"}},"a.k2":1}).pretty();{"_id":ObjectId("5407f3c7e40dd5ddb98ab043"),"a":[{"k2":"22"}]}>db.test.find({"seq":"1"