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中文文档地址

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
对于 MongoDB入门,你可以按照以下步骤进行学习: 1. 下载并安装 MongoDB:在 MongoDB 的官方网站上下载适合你操作系统的安装程序,并按照提示进行安装。 2. 启动 MongoDB 服务:安装完成后,启动 MongoDB 服务。在 Windows 上,你可以通过运行 `mongod` 命令启动服务。在 macOS 或 Linux 上,可以打开终端并运行 `mongod` 命令。默认情况下,MongoDB 会在本地的 27017 端口上启动。 3. 连接到 MongoDB:在另一个终端窗口或命令提示符中,使用 `mongo` 命令连接到 MongoDB。默认情况下,它会连接到本地的 MongoDB 服务器。 4. 创建数据库:在 `mongo` shell 中,可以使用 `use <database_name>` 命令创建一个新数据库,例如 `use mydb`。 5. 创建集合(表):集合类似于关系数据库中的表。你可以使用 `db.createCollection("<collection_name>")` 命令创建一个新集合,例如 `db.createCollection("mycollection")`。 6. 插入数据:使用 `db.<collection_name>.insertOne(<document>)` 命令将数据插入到集合中。例如,`db.mycollection.insertOne({ name: "John", age: 30 })`。 7. 查询数据:使用 `db.<collection_name>.find()` 命令查询集合中的所有数据。例如,`db.mycollection.find()`。 8. 更新数据:使用 `db.<collection_name>.updateOne(<filter>, <update>)` 命令更新集合中的数据。例如,`db.mycollection.updateOne({ name: "John" }, { $set: { age: 35 } })`。 9. 删除数据:使用 `db.<collection_name>.deleteOne(<filter>)` 命令删除集合中的数据。例如,`db.mycollection.deleteOne({ name: "John" })`。 这是一个 MongoDB 入门的基本流程。你可以根据需要进一步学习和探索 MongoDB 的更多功能和用法。希望对你有所帮助!

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

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值