
MongoDB
王哈哈er
廉颇老矣,能饭!
展开
-
mongodb怎么实现两个表之间的数据转移
1、同一实例下:use db_source;var docs = db_source.collection_souce.find();use db_target;docs.forEach({db.collection_target.insert(d)});2、不同Mongodb实例之间,可以使用mongodump和mongorestore,先备份,后恢复:mongodump ...转载 2018-09-04 09:45:09 · 8891 阅读 · 0 评论 -
mongodb/mysql 查看数据库占用磁盘空间大小
一、mongodb1、查看整个数据库默认是bytes单位db.stats();返回:{ "db" : "xxx", //当前数据库 "collections" : 27, //当前数据库多少表 "objects" : 18738550, //当前数据库所有表多少条数据 "avgObjSize" : 1153.54876188392, //每条数...原创 2019-03-12 13:16:53 · 9387 阅读 · 1 评论 -
mongodb 删除重复数据
注:mongodb当前版本是3.4.3插入六条数据:查询存在重复的数据:查询并循环删除重复数据:删除语句解析:db.userInfo.aggregate([ { $group: { _id: {userName: '$userName',age: '$age'},count: {$sum: 1},dups: {$addToSet: '$_id'}} ...转载 2019-03-05 14:29:42 · 830 阅读 · 0 评论 -
MongoDB 保存数据的优化方法
MongoDB 批量保存数据的优化方法这两天频繁遇到 MongoDB 插入数据的问题,这里记录下。问题描述:我有多个线程在抓数据,每天数据里有含有多个文档(Document),使用 Pymongo 的插入方法,逐条插入。形如下def save_to_mongo(data): for i in data: db.insert_one(i)在接收到数据后直接调用该...转载 2019-01-21 19:41:52 · 2152 阅读 · 0 评论 -
Mongodb 更新数组 $push 操作符和去重复更新数组 $addToSet 操作符使用
一、$push$push 操作符添加指定的值到数组中,不去重例如:添加一个值到数组中:db.students.update( { _id: 1 }, { $push: { scores: 89 } })添加多个值到数组中db.students.update( { name: "joe" }, { $push: { scores: { $each: [ ...原创 2018-11-14 09:59:07 · 7807 阅读 · 0 评论 -
Linux 安装 mongoDB
由于工作需要安装 mongoDB,此文章用来记录一下安装过程以及遇到的问题的解决方案。本文综合网络教程和自己实际安装中遇到的问题及解决方案,原教程连接见文末。先写一下安装并启动 mongoDB 正确的步骤,然后再总结其中遇到的问题。一、安装过程到 mongoDB 官网下载对应系统的压缩包。(注意不要选错系统版本,也可以在本地下载好后上传到云服务器)默认下载路径是到用户目录下的 Do...原创 2018-11-01 11:47:37 · 970 阅读 · 0 评论 -
Python 中设置 MongoDB 自增字段
MongoDB 没有像 SQL 一样有自动增长的功能, MongoDB 的 _id 是系统自动生成的 12 字节唯一标识。但在某些情况下,我们可能需要实现 ObjectId 自动增长功能。由于 MongoDB 没有实现这个功能,我们可以通过编程的方式来实现,以下我们将使用 Python 在 counters 集合中实现_id字段自动增长。创建 counters 集合,序列字段值可以实现自动...原创 2018-10-30 10:38:17 · 3551 阅读 · 0 评论 -
MongoDB 原子操作 findAndModify 记录
使用 MongoDB 的 findAndModify 命令来快速高效进行数据操作语法:db.Collections.findAndModify(query, null, null, true, null, false, false);几个参数分别为DBObject query,DBObject fields,DBObject sort,boolean remove,...原创 2018-10-16 16:09:51 · 4703 阅读 · 1 评论 -
MongoDB:count 结果不准确的原因与解决方法
教训:MongoDB 在分片后的集合上进行 db.collection.count() 操作时,出现结果不准确的现象,需要采用聚合的方法获取集合的 count 结果插入数据后,使用 Studio 3T 查看数据量时,发现显示的 count 结果与插入的数据不一致,偶然会多出几条或十几条通过谷歌发现,官方文档——( https://docs.mongodb.com/manual/refere...转载 2018-10-16 16:02:37 · 5032 阅读 · 0 评论 -
MongoDB 以字符串值长度 或 数组元素个数 为条件查询
#以字符串长度为条件在实际项目中常常会有根据字段值长度大小进行限制查询,例如查询商品名称过长或过短的商品信息,具体的实现方式可能有多种,在此记录常见的两种实现使用 $where 查询(性能稍逊一些)//查询商品名称长度大于25个字符的商品db.item.find({item_name:{$exists:true},$where:"(this.item_name.length >...转载 2018-10-09 14:35:22 · 11460 阅读 · 0 评论 -
MongoDB 常用命令记录
仅记录工作中常用的命令,随时补充,如有错误,欢迎指正。 1、创建普通索引:db.集合名.createIndex({"字段名":1})2、字段批量重命名:db.集合名.update({}, {$rename : {"原字段名" : "改后字段名"}}, false, true)3、批量删除某个字段:db.集合名.update({},{$unset:{'字段名':''}},false,...原创 2018-09-29 09:38:11 · 682 阅读 · 0 评论 -
Python 操作 mongodb 亿级数据量使用 Bloomfilter 高效率判断唯一性 例子
工作需要使用 python 处理 mongodb 数据库两亿数据量去重复,需要在大数据量下快速判断数据是否存在参考资料:https://segmentfault.com/q/1010000000613729网上了解到 Bloom Filter ,Bloom filter 是由 Howard Bloom 在 1970 年提出的二进制向量数据结构,它具有很好的空间和时间效率,被用来检测一个元素...原创 2018-09-27 11:39:34 · 2808 阅读 · 0 评论 -
MongoDB + Robo 3T数据去重
Robo 3T是MongoDB数据库的可视化界面软件。 爬虫时会因为某些原因,导致抓取的数据会有重复的。 除了在代码中处理去重,我们可以动动手指即可实现去重处理。 因此,我们可以指定字段来去重。 只需在Robo 3T可视化界面中输入一下代码即可:db.getCollection('数据表名称').aggregate([{$group:{_id:{字段名:'$字段名'}, count:...转载 2018-09-20 09:13:13 · 1862 阅读 · 1 评论 -
Mongodb插入数据save和insert方式的区别
如果我们在插入数据的时候不添加一个主键,系统会随机分配一个主键,则不存在下面所说的情况,若新增的数据中已存在主键,则再次插入相同的主键时insert() 会提示错误,而save() 则更改原来的内容为新内容。 如:当我们再次使用insert方式插入一个与其主键相同的对象时,会报出如下的错误我们很容易通过错误提示发现是因为主键重复。而当我们再次使用save方式插入 这个对...转载 2018-09-03 17:44:02 · 4182 阅读 · 5 评论 -
MongoDB查询集合中的文档
1、使用条件表达式(<, <=, >, >=,!=)//大于: field > valuedb.collection.find({field:{$gt:value}});//小于: field < valuedb.collection.find({field:{$lt:value}});//大于等于: field >= valuedb.col...原创 2018-09-05 17:39:37 · 3782 阅读 · 0 评论 -
Mongodb卡死,杀掉所有查询进程
1、打开mongodb的shell脚本,执行下面语句,即可杀死所有正在执行的进程var ops = db.currentOp().inprog; for(i = 0; i < ops.length; i++){ var opid = ops[i].opid; db.killOp(opid); print("Stopping op #"+o...转载 2019-05-21 13:56:17 · 3066 阅读 · 0 评论