Mongdb3.2.4(64bit) 数据库导入导出字段修改等操作

mongodb数据备份和还原主要分为二种:一种是针对于库(bson)的mongodump和mongorestore,一种是针对库中表(json形式)的mongoexport和mongoimport。

一.数据导入:

1 .json数据 通过mongoimport导入数据库的集合中

C:\Users\lenovo>mongoimport -d JD_comment -c JDComments F:jd_comment.json

2.bson数据通过mongorestore导入数据库中

C:\Users\lenovo> mongorestore -d JD_Bson   F:\comments.bson

3.csv数据通过mongoimport导入数据库中

C:\Users\lenovo>mongoimport -d database -c collection  -f filed --type csv  --file "F:\data.csv"


二.数据导出:

1.导出到csv文件

C:\Users>mongoexport -d database -c collection -f filed --csv -o e:\jd.csv

-f 之后添加需要导出的数据库中的字段


2.满足字段条件的数据,导出数据库:

C:\Users\lenovo>mongoexport -d JD_Comments -c comments -q{"buy_reason_5":1} -f c
ontent --csv -o f:\buyreason5.csv -q{“key”:value}


3.导出到json文件:

mongoexport -d JD_Comments -c new_comments -o F:/jd_newdata.json


4.导出到bson文件:

mongodump -d JD_Comments -c new_comments -o F:/jd_bson.bson


三.对数据库中字段进行修改:

1.修改字段名字:
db.jd_slice_1.update({},{$rename:{"creationTime":"created_at"}},false,true)
2.删除字段:
db.jd_slice_1.update({},{$unset:{"creationTime":""}},false,true)

3.修改字段值:

db.new_comments_test_10.update({},{$set:{"benchmark_13_16_score" : 0}},false,true)  #对全体数据操作

注:update()

db.collection.update( criteria, objNew, upsert, multi )    四个参数的说明如下:
criteria: update的查询条件,类似sql update查询内where后面的
objNew: update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
upsert: 这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
multi: mongodb默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。

4.将旧字段复制给新字段:

db.getCollection('new_comments_test_10').find({}).forEach(function(obj){
    if(obj.created_at) {
        db.new_comments_test_10.update({_id:obj._id},{$set:{time_created:String(obj.created_at)}});
        }
    }
    );

5.修改某一个字段类型:

eg.将int型数据(注意区分int32和int64)改成字符串类型数据:

 db.collection.find({"field_name":{$type:16}}).forEach(function(x)

{

x.comment_id = String(x.comment_id);

db.new_comments_copy.save(x);

})

field_name 表示要修改的字段,$type是固定写法,后面的16需要对应一张映射转换的表,如下图。

Type Number Alias Notes
Double 1 “double”  
String 2 “string”  
Object 3 “object”  
Array 4 “array”  
Binary data 5 “binData”  
Undefined 6 “undefined” Deprecated.
ObjectId 7 “objectId”  
Boolean 8 “bool”  
Date 9 “date”  
Null 10 “null”  
Regular Expression 11 “regex”  
DBPointer 12 “dbPointer” Deprecated.
JavaScript 13 “javascript”  
Symbol 14 “symbol” Deprecated.
JavaScript (with scope) 15 “javascriptWithScope”  
32-bit integer 16 “int”  
Timestamp 17 “timestamp”  
64-bit integer 18 “long”  
Decimal128 19 “decimal” New in version 3.4.
Min key -1 “minKey”  
Max key 127 “maxKey”

四.查看数据库及collection的大小:

1.获取mongodb中指定数据库的大小:

1)use database:

2)db.stats()

2.获取mongodb中指定数据库中collection的大小:

db.collection.datasize()#数据大小

db.collection.storeageSize()#数据存储空间大小。因为有压缩注意两者区别。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值