java mongo 日期范围_java – 在mongodb中按日期对值排序

我是mongodb的新手,我正在尝试按日期对所有行进行排序.我有混合来源的记录,我试图分开排序.某些记录在写入db时我没有更新dateCreated.后来我发现并将dateCreated添加到db中的所有记录中.假设我总共有4000条记录,前1000条我没有dateCreated.最新的3000有该专栏.在这里,我试图使用dateCreated列获取最后更新的记录.这是我的代码.

db.person.find({"source":"Naukri"}&{dateCreated:{$exists:true}}).sort({dateCreated: 1}).limit(10)

这段代码重新给我一些结果(来自那1000条记录)我根本看不到dateCreated列.此外,如果我在这里更改(-1){dateCreated:-1}我从其他来源获得结果,但不是Naukri.

所以我需要帮助这个案例,

>我如何按dateCreated排序以获取最新的更新记录和来源.

>我正在使用Java API从Mongo获取记录.如果有人帮助我找到如何使用java同样的查询,我将不胜感激.

希望我的问题很明确.提前致谢.

解决方法:

从文档中你将(并且你将会,不会 – 点头是)读取,你会发现你正在使用的find命令的第一个参数是所谓的查询文档.在本文档中,您指定了一个字段和条件列表,“逗号”分隔,这相当于声明性语法(如SQL)中的条件和条件.

您的查询的问题是它无效,并且没有匹配任何内容.正确的语法如下:

db.person.find({"source":"Naukri", dateCreated:{$exists:true}})

.sort({dateCreated: -1})

.limit(10)

所以现在这将过滤为“source”提供的值以及“dateCreated”字段存在的位置,这意味着它存在且包含某些内容.

我建议查看下面的链接,这两个链接中的第一个涉及构造mongoDB查询以及find方法及其参数.所有功能都转换为每种语言实现.

至于Java API以及如何使用,根据您的使用情况,有不同的方法. API提供了一个BasicDBObject类,它或多或少等同于JSON文档表示法,并且是一种hashmap概念.对于shell方法的更多内容和帮助器更像一些动态语言方法,有一个QueryBuilder类,后两个链接给出了示例和信息.这些允许链接使您的查询更具可读性.

Stack Overflow上有很多例子.我建议你看看.

标签:java,mysql,mongodb,mongodb-query

来源: https://codeday.me/bug/20190629/1323132.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值