首页 / MONGODB / mongoDB的安装及基本使用
mongoDB的安装及基本使用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mongoDB的安装及基本使用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含5549字,纯文字阅读大概需要8分钟。
内容图文
23} {“name”:”manager”, “phone”:”16868686868”}-
数据库:存储多个集合
-
服务器:一个服务器中可以包含多个数据库
- ObjectID:文档id
- String:字符串
- Boolean:布尔值
- Integer:整数
- Double:浮点数
- Arrays:数组或者列表
- Object:嵌入的文档
- Null:空值
- Timestamp:时间戳
- Date:日期时间
2.Mongodb下载安装
- 官方网站
注意:偶数为稳定版,如1.6,奇数为开发版,如1.7
2.1.Windows下Mongodb安装
直接下载msi文件或者点击All Verison Binaries下载都行
我这里用的是zip安装,安装完毕后,
mongo文件夹中创建db文件夹和log文件夹
- 在cmd窗口输入命令启动数据库
mongod --dbpath D:\软件安装\MongoDB\data\db(此处是db的路径)
- 打开一个新的窗口输入命令mongo,用于数据库操作
2.2.Linux下Mongodb安装
MongoDB安装很简单,无需下载源文件,可以直接用apt-get命令进行安装。
1 . 打开终端,输入以下命令:
sudo apt-get install mongodb
2 . 安装完成后,在终端输入以下命令查看MongoDB版本:
mongo -version
显示版本信息,即安装成功
3 . 启动mongo数据库
在终端输入命令
sudo mongo
3.安装pymongo
PyMongo是Mongodb的Python接口开发包,是使用python和Mongodb的推荐方式。
用Python操作MongoDB需要通过PyMongo,输入命令安装
pip install pymongo 默认安装 pip install pymongo==2.8 安装指定版本 pip install –upgrade pymongo 升级PyMongo
安装成功
命令运行成功无报错
4.Mongodb基本使用
4.1.基本操作
-
mongoDB将数据存储为一个文档
-
数据由 key=value 的键值对的形式组成
-
数据的操作:增删改查
-
nosql三元素:数据库 – 集合 – 文档 [--域]
4.2.基本语法
-
数据库操作
-
db:查看当前指向的数据库
-
show dbs:查看当前所有的数据库
-
use <数据库名称>:指向一个数据库
Use数据库不会创建数据库,如果操作数据会自动创建数据库 -
db.dropDatabase():删除当前指向的数据库
-
-
集合操作
-
show collections:查看当前数据库所有集合
-
db.createCollection(<c_name> [, options]):创建一个集合
-
db.<集合名称>.drop():删除指定的集合
-
show collections 查看当前库中所有的集合,后面的collections不要加括号 db.createCollection(name, [optinos]) 创建一个名称为name的集合,后面的options表示创建的附带选项 db.createCollection(“emp”):创建一个名称为emp的名称的集合 db.createCollection(“dept”, {“capped”: true, size: 5}):capped默认false 表示不设置上限,true表示设置上限需要设置size参数~表示达到上限时会将之前的数据覆盖
- 增加数据
-
语法:db.<集合名称>.insert(文档)
-
集合可以是原来存在的,可以是不存在的
-
文档:就是JSON格式表示的数据
-
简单查询:db.<集合名称>.find()查询指定集合的数据
-
db.student.insert({name:”jerry”, gender:”男”})
db.student.insert({_id:”1”, name:”tom”, gender:”女”, age:18})
- 更新数据
-
语法:db.<集合名称>.update(<query>, <update>,[multi:<boolean>])
-
指定属性更新:$opration
-
multi:默认false更新符合条件第一条,设置true全集合更新
-
#更新符合条件的文档 db.student.update({name:”tom”}, {name:”jerry”}) #更新符合条件的文档中符合条件的域 db.student.update({name:”tom”}, {$set:{name:”jerry”}}) #更新符合条件的多行文档及对应的域 db.student.update({}, {$set:{name:”donghua”}}, {multi:true})
-
保存数据
-
语法:db.<集合名称>.save(文档)
-
特征:[ _id ]如果数据不存在就添加,如果数据存在修改
-
-
删除数据
-
语法:db.<集合名称>.remove(<query>, {justone:<boolean>})
-
参数query:删除文档的条件
-
参数justOne:设置为true或者1,删除一条;默认false删除多条
-
查询数据
-
基本查询
-
find([{文档条件}]):全集合查询
-
findOne([{文档条件}]):查询第一个
-
pretty():将查询结果格式化展示
-
-
比较运算符
默认判断,无运算符 $lt:little~小于 < $lte:little or equals~小于等于 <= $gt:granter~大于 > $gte:granter or equals~大于等于 >= #查询名称为jerry的学生 db.student.find({name:”jerry”}) #查询年龄已经适婚年龄的学员 db.student.find({age:{$gte:20}})
- 逻辑运算符
-
逻辑与:并且运算,默认操作,无运算符
-
逻辑或:或者运算,$or
-
#查询年龄已经适婚年龄并且性别为女的学员 db.student.find({age:{$gte:20}, gender:”女”}) #查询年龄大于18或者性别为男的学员 db.student.find({$or:[{age:{$gt:18}, {gender:”女”}]})
- 范围运算符
-
$in:判断指定条件是否包含在某个范围内
-
$nin:判断指定条件是否不包含在某个范围内
-
#查询年龄在18或者20的学员 db.student.find({age: {$in:[18,20]}}) #查询年龄不是18 的学员 db.student.find({age: {$nin : [20]}})
- 限制查询条数
<find>.limit(count)
- 排序
<find>.sort({字段:1/-1, ...}) db.student.find().sort({name:1}) 1.表示升序排列 -1表示降序排列,可以指定多个字段
- 统计
<find>.count()
db.<集合名称>.count({条件})
两种操作方式
1.查询结果,通过count()统计数据
2. 通过count()直接添加条件统计数据
- 去重
db.<集合名称>.distinct(“去重域名称”, {条件})
查询数据列表中,所有的年龄分布情况
db.student.distinct(“age”, {})
- 分页
#隔n个数据查询m个数据 db.hero.find().pretty().limit(m).skip(n)
5.Mongodb与python交互
之前学习了爬虫,现在我们把爬取得到的数据存储于Mongodb中
#爬取英雄联盟英雄信息详情,并存储 #-*- coding:utf-8 -*- import pymongo import requests from bs4 import BeautifulSoup #建立于MongoClient 的连接 client = pymongo.MongoClient(‘localhost‘,27017) #得到数据库 hero = client[‘hero‘] #得到一个数据集合 sheet_tab = hero[‘sheet_tab‘] url = ‘http://lol.duowan.com/hero/‘ req = requests.get(url) soup = BeautifulSoup(req.text,‘html.parser‘) links = soup.find(id="champion_list").find_all(‘a‘) for link in links: link = link[‘href‘] requ = requests.get(link) sop = BeautifulSoup(requ.text,‘html.parser‘) data = { ‘title‘ : sop.find(‘h2‘,class_="hero-title").get_text(), ‘name‘ : sop.find(‘h1‘,class_="hero-name").get_text(), ‘tags‘ : sop.find(‘div‘,class_="hero-box ext-attr").find_all(‘span‘)[1].get_text(), ‘story‘ : sop.find(‘div‘,class_="hero-popup").find_all(‘p‘)[0].get_text(), } sheet_tab.insert_one(data)
开启mongo,运行代码
通过Robo 3T可视化工具我们可以看到抓取到了137条数据,并且已存储到mongodb中
mongoDB的安装及基本使用
标签:src msi 简介 空值 稳定性 one objectid none 属性
本文系统来源:http://www.cnblogs.com/zhouxinfei/p/7801538.html
内容总结
以上是互联网集市为您收集整理的mongoDB的安装及基本使用全部内容,希望文章能够帮你解决mongoDB的安装及基本使用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。