安装命令:

sudo apt-get install mongodb

开始认证,创建用户:

编辑配置文件: sudo vim /etc/mongodb.conf
11行中的 bind_ip值 修改成为 0.0.0.0
打开第22行中的注释 auth=true 保存退出 :wq 重启mongodb
sudo service mongodb restart 命令行中写入mongo,然后回车,进入到数据库中
use admin
db.createUser({user:"admin",pwd:"123456",roles:["root"]})
使用db.auth("admin", "password")认证 查看认证
命令:db.getCollectionNames()
返回结果:[ "system.users", "system.version" ] 查看用户: show users
返回结果
{
"_id" : "admin.admin",
"user" : "admin",
"db" : "admin",
"roles" : [
{
"role" : "root",
"db" : "admin"
}
]
}

 安装mongodb遇到的问题:

遇到问题:mongodb Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed
错误提示:exception in initAndListen: 29 Data directory /data/db not found., terminating
解决办法:
sudo mongod
sudo mkdir /data
cd /data
sudo mkdir db
ll
sudo chmod 777 db
每次使用mongo:先输入sudo mongod , 在输入mongo

MongoDB的基本操作:

我们通常把MongoDB中的表叫做集合

- 进入命令行  mongo
- 进入数据库 use admin
- 认证用户 db.auth("admin","123456")
- 创建数据库 use python_ui 这个命令的意思是没有就创建,有就不创建了
- 插入数据 db.my_collection.insert({"greedyai":"testdata"}) 插入的同时如果集合不存在,则创建
- 查看所有数据库 show dbs
- 查看当前使用的数据库 db
- 删除数据库 db.dropDatabase() 这个删除的是当前应用的数据库
- 删除集合 db.my_collection.drop()
- 查看当前数据库下的所有集合 show tables 或 show collections
- 单独创建集合 db.createCollection("my_test_collection")
- 单条插入文档 : db.my_test_collection.insert({'CPU类型': 'Intel 第8代 酷睿', 'CPU型号': 'i7-8550U', 'CPU速度': '1.8GHz睿频至4.0GHz', '三级缓存': '8M', '核心': '四核'})
- 多条插入文档 : db.my_test_collection.insertMany([{'内存容量': '16GB', '插槽数量': '2 x SO-DIMM'},{'硬盘容量': '1TB', '转速': '5400转/分钟', '固态硬盘': '256GB SSD'},{'类型': '独立显卡', '显示芯片': 'AMD Radeon RX550 2GB GDDR5 独立显存', '显存容量': '独立2GB'},{'屏幕尺寸': '14英寸', '屏幕规格': '14.0英寸', '显示比例': '宽屏16:9', '物理分辨率': '1920×1080', '屏幕类型': 'LED背光'},{'光驱类型': '无光驱'}]) [查询语句]
插入一点数据,作为练习
db.my_test_collection.insert([{"computer_price":5000},{"computer_price":6000},{"computer_price":7000}]) 简单查询:
db.my_test_collection.find().pretty()
pretty()函数加不加都可以,这是一个显示样式的函数 条件查询:
db.my_test_collection.find(这里写条件,相当于sql语句中的where).pretty() 常见条件筛选:
等于: db.my_test_collection.find({"颜色":"冰原银"}).pretty()
小于 : db.my_test_collection.find({"computer_price":{$lt:6000}}).pretty()
小于或等于 : db.my_test_collection.find({"computer_price":{$lte:6000}}).pretty()
大于 : db.my_test_collection.find({"computer_price":{$gt:6000}}).pretty()
大于或等于 : db.my_test_collection.find({"computer_price":{$gte:6000}}).pretty()
不等于 :db.my_test_collection.find({"computer_price":{$ne:6000}}).pretty() 先插入一个数据: db.my_test_collection.insert({'屏幕尺寸': '14英寸', '屏幕规格': '14.0英寸', '显示比例': '宽屏16:9', '物理分辨率': '1920×1080', '屏幕类型': 'LED不背光'})
和 : db.my_test_collection.find({"屏幕类型":"LED背光","屏幕尺寸":"14英寸"}).pretty()
或 : db.my_test_collection.find({$or:[{"屏幕类型":"LED背光"},{"屏幕类型":"LED不背光"}]}).pretty()
和与或联合使用:
db.my_test_collection.find({"屏幕尺寸":"14英寸",$or:[{"屏幕类型":"LED背光"},{"屏幕类型":"LED不背光"}]}).pretty() 模糊查询:
开头: db.my_test_collection.find({"显示比例":/^宽屏/}).pretty()
结尾: db.my_test_collection.find({"显示比例":/9$/}).pretty()
包含: db.my_test_collection.find({"显示比例":/6/}).pretty() 正则查询:
db.my_test_collection.find({"屏幕规格":{"$regex":"英"}}) 按字段属性查询 $type
插入测试数据: db.my_test_collection.insert({'屏幕尺寸': 15, '屏幕规格': '14.0英寸', '显示比例': '宽屏16:9', '物理分辨率': '1920×1080', '屏幕类型': 'LED不背光'})
字段类型查询
查询数字类型: db.my_test_collection.find({"屏幕尺寸":{$type:1}})
查询字符串类型: db.my_test_collection.find({"屏幕尺寸":{$type:"string"}}) 或 db.my_test_collection.find({"屏幕尺寸":{$type:2}}) 限定与跳过
limit: 限定返回多少条
skip: 在返回的结果中,跳过多少条
如果两个函数同时共存,则先运行skip ,再运行limit
db.my_test_collection.find().limit(3)
db.my_test_collection.find().limit(3).skip(1) 排序:
sort(): 支持按照某一个字段来进行排序 sort({"key":1}) 这个value值,1标识升序,-1标识降序
具体排序顺序是根据ascii码表来的 http://ascii.911cha.com/
db.my_test_collection.find().sort({"屏幕尺寸":-1}) [索引]
创建索引:
升序索引 db.my_test_collection.createIndex({"屏幕尺寸":1})
降序索引 db.my_test_collection.createIndex({"类型":-1})
复合索引或联合索引 db.my_test_collection.createIndex({"屏幕尺寸":1,"类型":-1})
数据量过大时,创建索引时间会比较长,所以可以后台创建索引
db.my_test_collection.createIndex({"硬盘容量":-1},{background:true})
查看索引
db.my_test_collection.getIndexKeys()
查看索引大小
db.my_test_collection.totalSize()
删除所有索引
db.my_test_collection.dropIndexes()
删除指定索引
db.my_test_collection.dropIndex("索引名称") [删除文档]
其实就是删除表中数据
db.my_test_collection.remove({"光驱类型":"无光驱"}) 括号里写的就是查询条件
然后执行 db.repairDatabase() 释放磁盘空间 另一种删除
db.my_test_collection.deleteMany({"computer_price":7000})
db.my_test_collection.deleteOne({"computer_price":7000}) [更新文档]
用的时候一定要慎重,因为文档的更新,一不小心有可能把文档覆盖了 第一种基本格式: db.my_test_collection.update(
{查询的条件},
{要更新的字段,这里一定要写全部},
布尔值-代表如果未找到是否插入-默认为false不插入,
布尔值-代表是否更新全部查找到的记录-默认为false-意思就是说只更新查到的第一条) db.my_test_collection.update({_id:ObjectId("5c8a83c8f8d27beb40e7142b")},{"系列11" : "ThinkPad E480"}) 第二种基本格式: db.my_test_collection.update(
{查询的条件},
{$set:{这里写要更新的字段,这种方式则只会操作目标字段}},
布尔值-代表如果未找到是否插入-默认为false不插入,
布尔值-代表是否更新全部查找到的记录-默认为false-意思就是说只更新查到的第一条) db.my_test_collection.update({_id:ObjectId("5c8a83c8f8d27beb40e7142b")},{$set:{"系列11" : "ThinkPad E480"}})

  

mongodb安装及使用的更多相关文章

  1. mongodb安装&简单使用

    转自Mac下使用brew安装mongodb,按着步骤已成功安装. brew常用命令 1.更新brew本身 brew update 2.使用brew安装软件 1 brew install soft_na ...

  2. win7 64位下 mongodb安装及命令运行

    有网友老催我把框架加上mongodb的支持,于是偶尔抽空看了看相关的文章. 今天有缘,就把mongodb安装了一下,中间遇到了小小的问题,So,把整个过程记录一下: 1:先上官网:http://www ...

  3. MongoDB配置服务--MongoDB安装成为windows服务

    MongoDB安装成为windows服务 1.打开命令提示符(最好以管理员的身份打开),然后输入: mongod --logpath "D:\MongoDB\data\log\logs.tx ...

  4. [MongoDB]安装MongoDB

    汇总: 1. [MongoDB]安装MongoDB2. [MongoDB]Mongo基本使用:3. [MongoDB]MongoDB的优缺点及与关系型数据库的比较4. [MongoDB]MongoDB ...

  5. MongoDB学习:(一)MongoDB安装

    MongoDB学习:(一)MongoDB安装 MongoDB介绍:     直接百科了: MongoDB安装: 1:下载安装: MongoDB安装:https://www.mongodb.com/do ...

  6. MongoDB 安装(Window/Linux)

    MongoDB安装在Windows上 在 Windows上,首先要安装 MongoDB下载最新发布的MongoDB: http://www.mongodb.org/downloads 确保得到正确的版 ...

  7. MongoDB安装与启动

    我本人电脑是win8系统64位,下载64位的zip包,下载完成后解压缩到D:\MongoDB目录 创建数据库目录D:\MongoDB\data,接下来打开命令行窗口,切换到D:\MongoDB\bin ...

  8. MongoDB安装部署(一)

    前言 MongoDB是一个由C++语言编写的基于分布式文件存储的数据库,是当前NoSQL数据库中比较热门的一种,旨在为Web应用提供可扩展的高性能数据存储解决方案. MongoDB 简介 MongoD ...

  9. windows下mongodb安装与使用整理

    一.首先安装mongodb 1.下载地址:http://www.mongodb.org/downloads 2.解压缩到自己想要安装的目录,比如d:\mongodb 3.创建文件夹d:\mongodb ...

  10. mongodb 安装与启动简单使用

    环境:mac 10.11.6 一.安装步骤:按照官网的教程: 1.打开终端 安装或升级brew: brew update 2.安装mongoDB二进制文件: brew install mongodb ...

随机推荐

  1. d3力导图绘制节点间多条关系平行线的方法

    之前用d3做了多条线之间的绘图是曲线表示的,现在产品要求改成平行线的样式,经过在网上的调研和自己的尝试,实践出一个可用的方法,分享给大家,先展示下结果: 事先声明,本方法是在以下参考网站上进行的结合和 ...

  2. dict字典,以及字典的一些基本应用

    dict表示方法: dict={}或d=dict() 1.字典的增:d['元素名']='元素值'.或d.setdefault('key','value') 2.字典的删:d.pop(key).或del ...

  3. [剑指Offer]18-题目一:删除链表的节点 题目二:删除链表中重复节点

    题目一 题目 O(1)时间复杂度删除给定链表节点. 题解 用待删除节点后一个节点的值覆盖待删除节点值,更新链接关系. 注意链表只有一个节点:删除尾结点:删除头节点的处理. 代码 class ListN ...

  4. [程序员代码面试指南]数组和矩阵-数组的partition调整

    题目 补充问题:数组只含0,1,2,对数组排序,要求时间复杂度O(n),额外空间复杂度O(1) 题解 维护三个变量,l,idx,r.左区间[0,l],中间区间[l+1,idx],右区间[idx+1,r ...

  5. 图灵机器人api的使用方法含微信版本和网页版

    访问图灵机器人官网http://www.tuling123.com/ 注册一个新的机器人账号 注册成功后转到主页 点击我的机器人>创建机器人>微信机器人 填写基本信息 点击微信介入> ...

  6. JsonPath使用教程

    application/json标识Json数据格式,是Http请求常见的一种Content-Type.我们经常也会看到接口返回数据类型为json格式.功能测试/自动化脚本里,经常会需要提取json数 ...

  7. 【转】PostgreSQL Index性能调优

    Index(索引)这个概念对于很多熟悉关系型数据库的人来说,不是一个陌生的概念.当表中数据越来越多时,在查询时,为了避免全表查询(sequence scan)可以在查询相关的条件字段上添加索引.举例来 ...

  8. 多NX如何共存

    在安装NX时,本机已经装了NX其他版本,只能修改当前程序,无法安装,那么多NX如何共存? 如图:先安装了32位NX8.5,后安装64位NX 8.5时弹的框. 解决办法有两种: 1)将已经安装的NX目录 ...

  9. [阅读笔记]Attention Is All You Need - Transformer结构

    Transformer 本文介绍了Transformer结构, 是一种encoder-decoder, 用来处理序列问题, 常用在NLP相关问题中. 与传统的专门处理序列问题的encoder-deco ...

  10. 深入了解Vue.js组件笔记

    1.组件注册 Vue.component('name',{}) 创建的组件都是全局组件,它们在注册之后可以用在任何新创建的Vue根实例(new Vue)的模板中.第一个参数是组件的名字,第二个参数是一 ...