Mongodb使用

来源:互联网 发布:java观察者模式实例 编辑:程序博客网 时间:2024/06/06 23:08

部分操作查询自:https://itbilu.com/database/mongo/V1C60_md.html
因为学校最近的课设需要用到mongodb,之前从来没有使用过,所以粗略学习了一下,mongodb的安装使用之前讲过了:http://blog.csdn.net/sinat_34734636/article/details/78704397,这次加上了可视化工具,使用的robomongo,网上的安装教程很多,这里就不说了。

总结

1.向mongo中传入文件

mongoimport –db tianchi –type csv –headerline –ignoreBlanks –file F:/TianChiAlogrithm/fresh_comp_offline/tianchi_fresh_comp_train_item.csv

–db:将文件传入的数据库
–type:传入文件的类型,导入的格式默认json
–headerline:将文件中第一行的值作为键值
–ignoreBlanks:忽略文件中的空值

传入的文件可以通过

show dbsuse tianchi

查看

因为需要python进行操作,在使用python对mongo进行输入读出和写入操作的代码如下:

import pymongoimport pandas as pdfrom pandas import DataFrame as dfimport numpy as np# mongodb服务的地址和端口号mongo_url = "127.0.0.1:27017"# 连接到mongodb,如果参数不填,默认为“localhost:27017”client = pymongo.MongoClient(mongo_url)#连接到数据库DATABASEDATABASE = "tianchi"db = client[DATABASE]#连接到集合(表):tianchi.COLLECTIONdef read_mongofile(COLLECTION):    db_coll = db[COLLECTION]    search_res = db_coll.find()    data = df(list(search_res))    return data# 将dataframe数据存储到mongodb中def write_dateframe2mongo(csvfile, COLLECTION):    mydb = client.DATABASE    myCollect = mydb.COLLECTION    column = csvfile.columns    length = csvfile.shape[1]    csv_reader = np.array(csvfile)    for i in range(len(csv_reader)):        myCollect.insert([{            '_id': i,        }])    for i in range(len(csv_reader)):        for j in range(length):            myCollect.update({'_id': i},                             {"$set": {column[j]: str(csv_reader[i][j])}}                             )
  • 导出mongo中自己建的数据库数据:

     mongodump -h localhost:27017 -d tianchi -o F:/TianChiAlogrithm

    -h: MongDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017
    -d: 需要备份的数据库实例,例如:tianchi
    -o: 备份的数据存放位置,例如:F:/TianChiAlogrithm,当然该目录需要提前建立,这个目录里面存放该数据库实例的备份数据。

  • MongoDB数据库恢复

     mongorestore -h dbhost -d dbname --dir dbdirectory

    -h: MongoDB所在服务器地址
    -d: 需要恢复的数据库实例,例如:test,当然这个名称也可以和备份时候的不一样,比如test2
    –dir: 备份数据所在位置,例如:/home/mongodump/itcast/
    –drop: 恢复的时候,先删除当前数据,然后恢复备份的数据。就是说,恢复后,备份后添加修改的数据都会被删除,慎用!

  • mongoDB中的mongoexport工具可以把一个collection导出成JSON格式或CSV格式的文件。可以通过参数指定导出的数据项,也可以根据指定的条件导出数据。

      mongoexport -d dbname -c collectionname -o file --type json/csv -f field

    -d :数据库名
    -c :collection名
    -o :输出的文件名
    –type : 输出的格式,默认为json
    -f :输出的字段,如果-type为csv,则需要加上-f “字段名”

原创粉丝点击