草庐IT

mongodb.driver

全部标签

mongodb - 如何使用带有 Yesod 的 $all 运算符在 mongo 上查找元素?

问题:我有一个要从mongodb检索的Person模型:PersonnameTextfavoriteFoods[Text]这是我的功能:getPersonsByFoods::[Text]->DB[EntityPerson]getPersonsByFoodsfoods=selectList[PersonFavoriteFoods???foods][]我看了一下Queryfiltercombinators但我没有找到任何可以帮助我处理列表的功能。我需要某种containsAll函数。这应该是最终的mongo查询:PersonModel.find({favouriteFoods:{"$all

mongodb - "now"和给定日期之间的差异

我需要检索集合中的所有文档,newISODate()和文档的日期字段之间的差异应大于给定参数。我可以通过查询在mongoshell上执行此操作:db.getCollection('tb_registered_app').aggregate([{$project:{difference:{$subtract:[newISODate(),"$ping_date"]}}},{$match:{difference:{"$gte":300000}}}])我正在尝试使用SpringDataMongoDB执行相同的查询,代码为:publicListgetTimedOut(longtimeout){r

c# - 我如何将此 mongodb 查询转换为 c# 驱动程序?

我如何为此编写兼容的C#代码?我知道我可以像这样进行投影:varprojection=Builders.Projection.Include("title");但不知道如何在查找聚合后投影姓氏以获取作者的姓氏db.books.aggregate([{$project:{title:1,lastName:"$author.lastName",}}]) 最佳答案 试试这个varproject=newBsonDocument{{"$project",newBsonDocument{{"title",1},{"lastName","$aut

laravel - MongoDB 在数组中搜索嵌套对象

我正在使用MongoDB将所有事件存储在我的Eventbrite克隆中。所以我有一个名为events的集合,然后该集合中的对象由它们的名称和对事件具有rsvp的用户数组组成。我可以查询当前用户创建的任何事件,但无法弄清楚如何查询用户创建的事件和回复的事件。这是我用来尝试获取所有用户事件的编译查询。events.find({"$and":[{"user_id":"5d335704802df000076bad97"},{"user_id":{"$ne":null}}],"$or":[{"checkins.user_id":"5d335704802df000076bad97"}]},{"ty

node.js - Mongodb查询加入两个集合

我正在尝试查询我的bbdd以获得涉及两个集合的一些信息。首先,我有一个集合,称为Collectables,它是一个存储一个用户可以使用应用程序获得的所有可用项目的集合。例如,此集合可以有...100个项目。这是项目的最大数量。这是该收藏的一份文件(称为收藏品){"_id":ObjectId("5d387ecfbb676b173aa57fe3"),"img":"someurl","name":"La5","__v":0,"amount":17,"available":16,"collec":ObjectId("5d36c0c34c86991db93bd7c8"),"gen":3,"met

c# - 在 Mongodb 中使用 insertmany 时如何避免 "Maximum serialisation depth exceeded"

从Azure保存磁盘信息:varcredentials=SdkContext.AzureCredentialsFactory.FromServicePrincipal("myclientId","mytenant","mysecretId",AzureEnvironment.AzureGlobalCloud);varazure=Azure.Authenticate(credentials).WithSubscription("mySubscription");vargroupName="myResourceGroup";varvmName="myVM";varlocation=Regi

node.js - 将查询生成器条件转换为 MongoDB 操作,包括子文档的嵌套数组

我在客户端使用Angular8构建应用程序,在服务器端使用MongoDB4/Mongoose5使用NodeJS12构建应用程序。我有一个由Angular2querybuilder生成的查询模块。Angular查询构建器对象被发送到服务器。我有一个服务器端Controller函数convertstheAngularqueryobjecttoMongoDBoperations.这非常适合为顶级属性(例如RecordID和RecordType)生成查询。这也适用于构建嵌套和/或条件。但是,我还需要支持查询子文档数组(示例架构中的“Items”数组)。架构这是我尝试查询的示例架构:{Recor

mongodb - 考虑到给定字段中的每个子字段,如何计算具有最大唯一值的文档数量?

问题给定这个结构:{"_id":ObjectId("56n606c39q49b80adfe6d17b")"data":{"field1":[{"subfield1.1":[{"val1.1.1":a},{"val1.1.2":b}]},{"subfield1.2":[{"val1.2.1":c},{"val1.2.2":d}]}]}}考虑到给定字段中每个“子字段”中的所有“val”,我如何编写一个查询来计算具有最大唯一“val”的文档的数量?需要考虑的事实:“val”是数组中的元素“子字段”也是数组中的一个元素“字段”、“子字段”和“val”字段名称对于所有文档都是相同的可能有1个或多

mongodb - 运行查询时mongo上的聚合函数运行速度非常慢

尝试在Mongo上的聚合函数上运行查询,目前需要16秒,而我希望的结果不到一秒{"$lookup":{"from":"session_attendances","let":{"id":"$_id"},"pipeline":[{"$match":{"$expr":{"$eq":["$student","$$id"]}}},{"$project":{"attendance_code":"$attendance_code"}}],"as":"attendance"}},{//keeponlymatchedstudents,canskipthisandmodifiythenextphasein

mongodb - 如何将嵌入式文档数组移动到父级并使用聚合管道更改键/值

我有一组文档,每个文档都包含一个(简单)文档数组。我想使用聚合管道将嵌入的文档(“水果”)移动到父级,如下例所示。请注意,“名称”值成为父文档中的键。我看过Mongo的聚合框架(特别是$project、$replaceRoot、$arrayToObject),但我没有取得了任何进展。我想转换这个{"_id":3258,"fruits":[{"name":"apple","quantity":2},{"name":"banana","quantity":86},{"name":"orange","quantity":4},{"name":"pineapple","quantity":28