![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
------【MongoDB】
_夜渐凉
_与其临渊羡鱼,不如退而结网
展开
-
org.springframework.dao.DuplicateKeyException: E11000 duplicate key error collection
注意:MongoDB存储一个对象A时如果对象A里面有一个对象B而对象B存在只能唯一的字段会出现报错:duplicate key error collection解决方法一:改为存储一个对象B的DTO,只保留所需的字段注意:需要删除MongoDB数据库对应的唯一索引,不然会继续报这个错误...原创 2019-12-06 12:07:30 · 1940 阅读 · 0 评论 -
Java MongoTemplate 查询时限制内嵌集合返回的数据量
场景:MongoDB表中的某字段数据量非常大,需要限制只返回该字段 【最新】 的2000条数据数据结构:datas字段中的数据,根据时间排序如下,最新的数据排在文档的最底下{ ... "userid" : "123", "datas" : [ { "id" : "111", "time" : I...原创 2019-07-24 18:29:55 · 2840 阅读 · 0 评论 -
Java MongoDB 获取内嵌集合字段的长度
如果有以下数据,我们想获取数字字段arrayfield的长度,该怎么办呢?{ "_id" : "test_id", "array_field" : [ "value1", "value2", "value3" ]}虽然我们可以直接查询该字段的内容然后获取其长度,但是当数据量大时性能就很差了。这里我们用聚合函...转载 2019-07-24 18:21:16 · 2063 阅读 · 1 评论 -
Java MongoDB 获取内嵌集合和内嵌集合的长度
场景:需要获取嵌套数组datas的长度,这里存的是对象{ ... "userid" : "123", "datas" : [ { "id" : "111", "time" : ISODate("2019-05-21T08:12:13.058+0000") }, {...原创 2019-07-24 16:27:31 · 1725 阅读 · 1 评论 -
MongoDB java 3.2版本查询指定列和排序的补充(待解决:对内嵌集合内的元素进行排序)
因为需要最近使用了mongoDB,上官网一看现在都mongo-java-driver-3.2.2.jar了(以前接触2.X).于是下载了最新版驱动来用(DB版本:db version v2.4.9),因为新,资料少所以也遇到一些问题,以下就分享出来:官方文档里面的东西已经很全面了.常操作一看就明白,就不多说了,可通过以下链接自行查看:https://docs.mongodb.org/get...转载 2019-07-24 12:12:52 · 349 阅读 · 0 评论 -
Java MongoTemplate查询返回指定字段(内嵌集合)及指定数量的数据
假设我有一个实体类Article@Data@Document(collection = "articles")public final class Article { @Id private String id; private String name; private String url; private String author; ...转载 2019-07-24 11:50:05 · 9248 阅读 · 0 评论 -
MongoDB 原子操作——findAndModify()函数
MongoDB 原子操作mongodb不支持事务,所以,在你的项目中应用时,要注意这点。无论什么设计,都不要要求mongodb保证数据的完整性。但是mongodb提供了许多原子操作,比如文档的保存,修改,删除等,都是原子操作。所谓原子操作就是要么这个文档保存到Mongodb,要么没有保存到Mongodb,不会出现查询到的文档没有保存完整的情况。原子操作数据模型考虑下面的例子,图...原创 2019-07-16 12:19:37 · 7655 阅读 · 0 评论 -
mongodb 使用aggregate $lookup多表关联聚合查询遇到的坑,待解决
简单应用,例:有一个product表,有一个orders表,自然就存在着一个外键关系,下面我们就来造点数据db.product.insert({"_id":1,"productname":"商品1","price":15})db.product.insert({"_id":2,"productname":"商品2","price":36})db.orders.insert({"_id...原创 2019-06-26 15:39:44 · 4826 阅读 · 0 评论 -
MongoDB 对时间的处理 ISODate 与我们时区相差8小时
在mongoDB数据库中,时间的保存是ISODate类型,orm关系映射为java.util.Date类型,其保存的时间与我们会有8小时的区别(保存的时间比我们早了8个小时)原数据为:Person [id=11188, name=doctorwho, age=888888,birth=2016-01-01 13:55:00]MongoDB数据库中为:{ "_id" :...转载 2019-04-24 18:29:35 · 7998 阅读 · 1 评论 -
Studio 3T 下操作 MongoDB 的实践命令
1,模糊查询db.Person.find({"nickName":/n/}){"foodname":{"$regex":",米饭"}}2,非空查询db.Person.find({"nickName":{"$not":{"$eq":null}}})3,某一天的数据(并且审核通过)db.Person.find({"createtime":{"$gt...原创 2019-04-18 14:52:20 · 1821 阅读 · 1 评论 -
Studio 3T 下操作 MongoDB 的常用命令
左边是mongodb查询语句,右边是sql语句。对照着用,挺方便。db.users.find() select * from usersdb.users.find({"age" : 27}) select * from users where age = 27db.users.find({"username" : "joe", "age" : 27}) select * from user...转载 2019-04-17 19:35:48 · 4963 阅读 · 0 评论 -
Java 中 MongoDB 的各种操作 模糊查询 精确查询 等等
本意是想查查mongo数据库的int类型的like怎么查,但是好像没 解决这个问题。精确查询;模糊查询;分页查询,每页多少:按某个字段排序(或升或降):查询数量:大于,小于,等于;且,或,某个字段不为空,某个字段不存在,查询在某个范围内,删除等等查询。一. 常用查询:1. 查询一条数据:(多用于保存时判断db中是否已有当前数据,这里is 精确匹配,模糊匹配 使用regex.....转载 2019-04-17 19:34:19 · 1644 阅读 · 0 评论 -
Studio 3T for MongoDB 破解无限使用脚本
此教程并非真正破解,而是通过重置studio 3t的试用时间解决的。每次开机重启脚本重置试用时间。@echo offECHO 重置Studio 3T的使用日期......FOR /f "tokens=1,2,* " %%i IN ('reg query "HKEY_CURRENT_USER\Software\JavaSoft\Prefs\3t\mongochef\enterprise" ...转载 2019-04-26 11:04:59 · 980 阅读 · 0 评论