Mongodb使用

本文介绍如何使用mongoimport工具导入CSV文件到MongoDB,并通过Python进行数据读取与写入操作。此外,还提供了导出MongoDB数据库数据的方法及MongoDB数据库的备份与恢复流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

部分操作查询自: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 dbs
use tianchi

查看

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

import pymongo
import pandas as pd
from pandas import DataFrame as df
import numpy as np

# mongodb服务的地址和端口号
mongo_url = "127.0.0.1:27017"

# 连接到mongodb,如果参数不填,默认为“localhost:27017”
client = pymongo.MongoClient(mongo_url)

#连接到数据库DATABASE
DATABASE = "tianchi"
db = client[DATABASE]

#连接到集合(表):tianchi.COLLECTION
def 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 “字段名”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值