MongoDB入门及问题总结

MongoDB使用入门及问题总结

最近学习Python爬虫开发时需要使用MongoDB数据库,为此做个使用入门的介绍和所遇问题的总结。

关于MongoDB

关于MongoDB的简介可以直接去官网查看,主要和传统的MySQL,SQL Server这些数据库的不同之处在于它是NoSql型数据库,即非关系型数据库。不同于MySQL中的数据都是一张张的关系表结构,MongoDB中的数据并不是以相互之间的关系表来存储的,所以这种数据的存储方式更适合复杂的爬虫环境。

参考文档:

MongoDB官网

MongoDB中文社区

MongoDB官方中文文档

MongoDB的入门视频教程

MongoDB的下载和安装

关于下载和安装直接按照官网的流程来即可
![官网下载社区版](C:\Users\75993\Pictures\Saved Pictures\study124.PNG)

选择对应操作系统的版本,下载下来直接安装即可。

MongoDB的遇到的问题

一 . 安装官方下载的msi安装的时候始终提示安装失败

解决办法:

在安装程序最后一步的时候不勾选左下角的mongodb-compass 选项

二. 配置MongoDB为window服务时失败

解决办法:

删除用于存放数据库的文件夹中的mongod.lock和storage.bson 文件,再重新启动

相关参考文章

mongodb安装及100报错

关于安装MongoDB的过程与错误48 100的解决方法

三. 备份MongoDB时遇到的问题

问题描述:在使用mongodump -h dbhost -d dbname -o dbdirectory命令备份数据库时始终提示以下错误:

 Failed: error writing data for collection `study.sheet_tab_copy` to disk: error reading collection: Failed to parse: { find: "sheet_tab_copy", skip: 0, snapshot: true, $readPreference: { mode: "secondaryPreferred" }, $db: "study" }. Unrecognized field 'snapshot'.

解决办法:在使用的命令后边多加一个参数--forceTableScan,意思是force a table scan (do not use $snapshot),即使用命令为:mongodump -h dbhost -d dbname -o dbdirectory --forceTableScan即可

MongoDB的简单使用

  1. 查看所有的数据库

    show dbs
    
  2. 切换到指定数据库

    use [指定数据库名]
    
  3. 向指定数据库插入一条数据

    db.users.insertOne(
       {
          name: "sue",
          age: 19,
          status: "P"
       }
    )
    
  4. 从指定数据库中查询一条数据

    db.collection.find( <query filter>, <projection> )
    //示例,查询users文档中的全部数据
    db.users.find()
    //示例,查询users文档中status字段为A的数据
    db.users.find( { status: "A" } )
    
  5. 更新数据库中的数据

    //使用 $set 操作符更新 favorites.food 字段的值为 "pie" 并更新 type 字段的值为 3,
    
    //使用 $currentDate 操作符更新 lastModified 字段的值到当前日期
    db.users.updateOne(
       { "favorites.artist": "Picasso" },
    	   {
    	     $set: { "favorites.food": "pie", type: 3 },
    	     $currentDate: { lastModified: true }
    	   }
    )
    
  6. 删除数据

    //第一个status 字段等于"A"的文档
    db.users.deleteOne( { status: "D" } )
    
  7. MongoDB数据库备份

    语法:
    mongodump -h dbhost -d dbname -o dbdirectory
    参数说明:
    -h: MongDB所在服务器地址,例如:127.0.0.1,当然也可以指定端口号:127.0.0.1:27017
    -d: 需要备份的数据库实例,例如:test
    -o: 备份的数据存放位置,例如:/home/mongodump/,当然该目录需要提前建立,这个目录里面存放该数据库实例的备份数据。
    --forceTableScan:强制扫描整个表(不使用快照)force a table scan (do not use $snapshot)
    
  8. MongoDB数据库恢复

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

MongoDB中文文档地址

参与评论 您还未登录,请先 登录 后发表或查看评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:精致技术 设计师:CSDN官方博客 返回首页

打赏作者

兜里有糖心里不慌

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值