草庐IT

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

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

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个或多

给定一个序列快速计算不同二叉树的个数

给定一个序列求二叉树的个数,就相当于n个数进栈然后得到一个出栈序列种树假设用f(n)表示n个数的出栈序列数的种树,假设第一个出栈序数是k,则k将1~n的序列分为两个序列,其中一个是1~k-1,序列个数是k-1;另一个是k+1~n,序列个数是n-k。此时,若k视为确定的一个序数,根据乘法原理,则f(n)等于序列个数k-1的出栈种类数乘以序列个数为n-k的出栈序列数,即       f(n) =f(n-1)*f(n-k)由于k可以从1取到n,所以再根据加法原理,将k取不同值的序列的种数相加,得到的总序列的种数为:     f(n) =f(0)f(n-1)+f(1)f(n-2)+...+f(n-1)

mongodb - Grails:查找具有包含具有给定属性值的对象的列表属性的对象

我正在开发Grails应用程序。我们有一个名为User的域对象,User的属性之一是Role对象列表。角色有一些属性,其中之一是“名称”。我需要找到在其角色列表属性中具有特定名称角色的所有用户对象。User:ListrolesRole:Stringname因此,给定一个用户列表,我需要找到在其角色列表属性中具有名为“SUPERUSER”的角色的所有用户。后端的数据库是MongoDB,所以我们不能使用SQL查询或类似的东西(应用程序根本不使用Hibernate)。据我所知,动态查找器和CriteriaBuilder解决方案都可以。如有任何帮助,我们将不胜感激。我想我忽略了一些明显的事情,

mongodb - 将 mongo 中给定键/值对的查询结果作为返回值的数组返回的最简单方法是什么?

我在来自两个集合的文档中有一个名为id(不是_id)的字段。我需要将第一个集合的内容与第二个集合进行比较。基本上,我需要知道集合“A”中存在哪些具有给定值“id”的文档,但“B”中不存在。从集合A构建一个id数组的最简单方法是什么,我可以使用它来执行如下操作。:db.B.find({id:{$nin:array_of_ids_from_coll_A}})请不要纠结为什么我在这种情况下使用“id”而不是“_id”。谢谢。 最佳答案 严格来说,这并没有回答“如何构建一个数组......”的问题,但我会遍历集合A并尝试为每个元素找到B中的

mongodb - 如何在 Mongo Java 驱动程序 2.13.0 中使用给定的用户名和密码对任何数据库进行身份验证?

以前我可以使用db.authenticate(Stringusername,char[]password)方法。使用2.13.0,我该如何实现? 最佳答案 db.authenticate()没有替代品。驱动程序将使用提供的凭据并确保连接在创建时经过身份验证。基于thismongodb-userdiscussionJava驱动程序团队愿意讨论db.authenticate(...)方法的真正需求。 关于mongodb-如何在MongoJava驱动程序2.13.0中使用给定的用户名和密码对任

Php mongo 查找给定数组的匹配文档

我想从一个集合中查找文档,例如类别为“猫”即[{id:0,name:'cheetah',category:['cat','has_claws']},{id:1,name:'lion',category:['cat','has_claws','alpha']},{id:2,name:'fox',category:['dog']},{id:3,name:'eagle'category:['bird','has_claws']}]查询应该是什么样的?例如,我想查询has_claws类别中的异种动物,我还想确保在使用数组查询时不会有任何重复项......即我想查询cats和has_claws中

mongodb - 为 $and 中给定查询的 mongodb 集合添加索引

我有以下结构的集合。其中有一些重复的内容标题名称和值。但我需要获取确切的文档。{"_id":ObjectId("573ebc7bbf50112d55c0b763"),"topic":"AAA","contents":[{"headerName":"StartYear","value":1995},{"headerName":"Program","value":"AAA"}]},{"_id":ObjectId("573ebc7bbf50112d55c0b763"),"topic":"BBB","contents":[{"headerName":"StartYear","value":19

mongodb - 在mongodb集合中查找字段等于给定整数值的文档

我想找到字段property_id等于-549的所有文档。我试过:db.getCollection('CollectionName').find({'property_id':-549})这将不返回任何记录并显示一条消息:“已获取0条记录。”但我看到文档就在那里,其中字段property_id是-549。我不确定我做错了什么。字段类型为int32。 最佳答案 检查字段名'property_id'是否有空格:尝试db.getCollection('CollectionName').find({'\uFEFFproperty_id':-

arrays - MongoDB 未正确查询给定位置数组内的 `null`

在处理查询中的空值和数组索引时,我很难理解为什么在mongodb中会发生以下情况。假设我们有以下内容:>db.test.find(){"_id":ObjectId("5852da24507d8c27f4e3c357"),"item":null}{"_id":ObjectId("5852da2d507d8c27f4e3c358"),"item":{"something":true}}{"_id":ObjectId("5852da33507d8c27f4e3c359")}当我尝试查找null项目时,我得到ObjectId("5852da24507d8c27f4e3c357")和Object