MongoDB学习

作者: Jayss_987 | 来源:发表于2019-02-12 23:59 被阅读14次
简介:

有c++语言编写,可为web应用提供可扩展的高性能能数据存储。
介于关系型数据库与非关系型数据库之间,是非关系型数据库当中功能最丰富的。
支持的数据结构松散,类似json的bson格式,即可存储比较复杂的数据类型。


特性:
特性
1 基于分布式文件存储的开源数据系统
2 可为web应用提供可扩展高性能的数据存储方案
3 将数据存储为一个文档,文档类似与jason格式

MongoDB结构:
MongoDB 关系型数据库
数据库(database) 数据库(database)
集合(collection) 表(table)
文档(document) 行(row)

基本操作:

进入mongodb数据库:mongo
退出mongodb数据库:exit

#进入mongodb数据库
Jayss@localhost:~$ mongo
MongoDB shell version: 2.6.10
connecting to: test
Server has startup warnings:
2019-02-03T23:43:03.529+0800 [initandlisten]
2019-02-03T23:43:03.529+0800 [initandlisten] ** NOTE: This is a 32 bit MongoDB binary.
2019-02-03T23:43:03.529+0800 [initandlisten] **       32 bit builds are limited to less than 2GB of data (or less with --journal).
2019-02-03T23:43:03.529+0800 [initandlisten] **       See http://dochub.mongodb.org/core/32bit
2019-02-03T23:43:03.529+0800 [initandlisten]

#退出mongodb数据库
> exit
bye


库级操作

#显示所有数据库

> show dbs
admin              (empty)
local              0.078GB
python_foundation  0.078GB
test               0.078GB

#---------------------
#查看当前所在库

> db
test

#---------------------
#切换/创建数据库:use 数据库名  (当数据库名不存在时,则自动创建该数据库)

> use local                 #切换local数据库
switched to db local
> db                        #显示当前数据库
local
> use study                #创建study数据库
switched to db study
> db
study
> show dbs                 #此时查看不到study数据库的原因是study数据库中无数据
admin              (empty)
local              0.078GB
python_foundation  0.078GB
test               0.078GB

#---------------------
#删除库:db.dropDatabase()

> show dbs                        #显示所有数据库
admin              (empty)
local              0.078GB
python_foundation  0.078GB
study              0.078GB
test               0.078GB
> use study                       #切换到study数据库
switched to db study
> db.dropDatabase()               #删除当前所在的数据库
{ "dropped" : "study", "ok" : 1 }
> show dbs                        #显示当前所有的数据库(可看到study数据库已被删除)
admin              (empty)
local              0.078GB
python_foundation  0.078GB
test               0.078GB


集合操作


#查看当前数据库的集合:show collections

> use python_foundation            #切换python_foundation数据库
switched to db python_foundation
> db                              #显示当前所在数据库
python_foundation
> show collections                #显示当前所载数据库的集合
student
system.indexes

#---------------------
#创建集合:db.createCollection(集合名)

> db.createCollection('user1')        #创建名叫name的集合
{ "ok" : 1 }
> show collections                   #查看当前数据库所有集合
user1
system.indexes

#---------------------
#删除集合

> show collections          #查看当前数据库所有集合
name
student
system.indexes
> db.name.drop()            #删除名叫name的集合
true
> show collections          #查看当前数据库所有集合
student
system.indexes


文档操作

即添加文档(数据)

#查看集合中全部文档:db.集合名.find()

> db.user1.find()
{ "_id" : ObjectId("5c62c1292ee6afdfb9c69779"), "name" : "jayss" }

#---------------------
#添加数据:db.集合名.insert({数据})

> db.user1.insert({'name':'jayss'})          #为user1集合添加文档
WriteResult({ "nInserted" : 1 })
> db.study.find()                             #查看user1集合的所有文档
{ "_id" : ObjectId("5c62ad6a2ee6afdfb9c69775"), "name" : "jayss" }

#添加多条文档
> db.user1.insert([
... {'age':20},
... {'sex':'male'}])
BulkWriteResult({
        "writeErrors" : [ ],
        "writeConcernErrors" : [ ],
        "nInserted" : 2,
        "nUpserted" : 0,
        "nMatched" : 0,
        "nModified" : 0,
        "nRemoved" : 0,
        "upserted" : [ ]
})

#查看集合user1的所有文档
> db.user1.find()
{ "_id" : ObjectId("5c62c1292ee6afdfb9c69779"), "name" : "jayss" }
{ "_id" : ObjectId("5c62c2b977f12d5b7ee5fec9"), "age" : 20 }
{ "_id" : ObjectId("5c62c2b977f12d5b7ee5feca"), "sex" : "male" }

#---------------------
#修改一条数据:db.集合名.update({旧数据},{$set:{新数据}})

> db.user1.find()
{ "_id" : ObjectId("5c62c1292ee6afdfb9c69779"), "name" : "jayss" }
{ "_id" : ObjectId("5c62c2b977f12d5b7ee5fec9"), "age" : 20 }
{ "_id" : ObjectId("5c62c2b977f12d5b7ee5feca"), "sex" : "male" }

> db.user1.update({'age':20},{$set:{'age':21}})                        #把集合user1里的age等于20修改为21
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

> db.user1.find()
{ "_id" : ObjectId("5c62c1292ee6afdfb9c69779"), "name" : "jayss" }
{ "_id" : ObjectId("5c62c2b977f12d5b7ee5fec9"), "age" : 21 }
{ "_id" : ObjectId("5c62c2b977f12d5b7ee5feca"), "sex" : "male" }


#---------------------
#格式化显示:db.集合名.find().pretty()

> db.user1.find().pretty()
{ "_id" : ObjectId("5c62ad6a2ee6afdfb9c69775"), "name" : "jayss" }
{ "_id" : ObjectId("5c62bc992ee6afdfb9c69776"), "age" : 20 }
{ "_id" : ObjectId("5c62bc992ee6afdfb9c69777"), "sex" : "male" }


#---------------------
#查看满足条件的数据:db.集合名.find({数据})

> db.user1.find({'name':'jayss'})
{ "_id" : ObjectId("5c62ad6a2ee6afdfb9c69775"), "name" : "jayss" }

#---------------------
#删除集合中满足条件的文档

> db.user1.remove({'sex':'male'})          #删除sex数据
WriteResult({ "nRemoved" : 1 })
> db.user1.find()
{ "_id" : ObjectId("5c62c1292ee6afdfb9c69779"), "name" : "jayss" }
{ "_id" : ObjectId("5c62c2b977f12d5b7ee5fec9"), "age" : 21 }

#---------------------
#删除集合中所有文档:db.集合名.remove()

> db.user1.remove()


欢迎技术交流

WeChat......

相关文章

  • 小结

    To Do List mongoDB数据库学习 vertX框架学习 案例整理 mongoDB 这部分学习分为五块:...

  • MongoDB文档

    MongoDB文档 MongoDB 概念解析 不管我们学习什么数据库都应该学习其中的基础概念,在mongodb中基...

  • 24.Mongodb的索引操作

    Mongodb的索引操作 学习目标 掌握 mongodb索引的创建,删除操作 掌握 mongodb查看索引的方法 ...

  • MongoDB 与 MySQL 对比

    MongoDB 与 MySQL 对比 由于公司系统使用MongoDB,虽然之前了解,但并没有深入学习MongoDB...

  • 22.Mongodb的的增删改查

    Mongodb的的增删改查 学习目标 掌握 mongodb插入数据的方法 掌握 mongodb保存数据的方法 掌握...

  • mongoose官方文档学习

    一.mongodb学习准备 1.1First be sure you have MongoDB and Node....

  • MongoDB教程

    前言:相关学习网站 -- http://www.runoob.com/mongodb/mongodb-tutori...

  • Mongodb常用语法

    关于Mongodb的全面总结,学习mongodb的人,可以从这里开始! Mongodb集群搭建的三种方式 Mong...

  • 20. Mongodb的介绍和安装

    Mongodb的介绍和安装 学习目标 了解 非关系型数据库的优势 了解 mongodb的安装 1. mongodb...

  • #python实战计划#2.1筛选房源

    1. 练习准备: MongoDB的准备:MongoDB学习—(1)安装时出现The default storag...

网友评论

    本文标题:MongoDB学习

    本文链接:https://www.haomeiwen.com/subject/irfzjqtx.html