MongoDB学习

简介:

有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......

你可能感兴趣的:(MongoDB学习)