非关系型数据库------MongoDB的简单入门

一、数据库db

1. 创建数据库:

语法:use 数据库名(现在还无法查看到数据库,这里的use和mysql中的不一样,是创建的意思

#创建数据库test1
use test1

2. 查看数据库:

语法:show dbs(刚刚创建的数据库在数据库中没有内容的时候是查不到的

#查看所有数据库
show dbs

3. 创建集合:

语法:db.createCollection(‘集合名’) (集合相当于mysql中的表

#创建集合col1
db.createCollection('col1') 

4. 查看数据库中的集合:

语法:show collections

#查看集合
show collections

5. 删除集合:

语法:db.集合名.drop()

#删除集合col1
db.col1.drop()

6. 删除数据库:

语法:db.dropDatabase()

#删除正在使用的数据库
db.dropDatabase()

二、数据类型

1. number

    Eg:int 20、float 2.3

2. string

    Eg:‘张三’

3. list

    Eg:[123,‘str’,[3,4]]

4. tuple

    Eg:(1,2,3)

5. dict

    Eg:{key1:value1,key2:value2}

三、集合的增删改查

1. insert

1.1 插入一条数据

语法:db.集合名称.insert(字典)

>db.mycol.insert({name:'李四',age:25,sex:'男'})
>db.mycol.insert({
    name:'王舞',
    age:20,
    sex:'女'
})
1.2 插入多条数据

语法:db.集合名.insert([字典1,字典2])

>db.mycol.insert([
    {name:'赵六',age:30},
    {name:'孙七',age:40}
])

***注意如果db.集合名n.insert() 本身集合名n不存在,会自动创建并执行insert

2. update

2.1 更新数据

语法:db.collectionName.update({筛选条件},{更新的数据})

>db.mycol.update(
    {name:'李四'},
    {$set:{'sex':'女'}}
)
2.2 更新多条数据

语法:db.collectionName.update({筛选条件},{更新的数据},{multi:true})

>db.mycol.update(
    {age:20},
    {$set:{sex:'中',tel:120}},
    {multi:true}
)
2.3 存储

语法:db.collectionName.save({})

>db.mycol.save({name:'钱八'})
2.4 指明存到哪个地址上
>db.mycol.save(
    {'_id':ObjectId("5e211a19b5607f8ae3a56a22"),name:'七娃',weapon:'葫芦'}
)

3. remove

3.1 删除数据

语法:db.collectionName.remove({筛选条件},1或true)        (有1或true,则删一条,没有删全部)

>db.mycol.remove({name:'张三'})
>db.mycol.remove({name:'赵六'})
>db.mycol.remove({})  删除所有
>db.mycol.remove({},1)  删除第一条,不考虑条件

4. find

4.1 查询

语法:db.集合名.find({name:‘张三’})
           db.集合名.find({})
           db.集合名.find().pretty() 好看的查询集合内容

>db.mycol.find()
>db.mycol.find()
>db.mycol.find().pretty()
4.2 与数字相关的

$gt (greater than) >
$lt (less than) <
$gte (greater than and equal) >=
$lte (less than and equal) <=
$ne (not equal) !=

#查询年龄大于25的
>db.mycol.find({age:{$gt:25}})
>db.mycol.find({age:{$lt:25}})
>db.mycol.find({age:{$ne:25}})
4.3 多条件查询

#and
语法:db.mycol.find({key1:value1,key2:value2,…})

>db.mycol.find({age:20,sex:'中'})

#or
语法:db.mycol.find({$or:[{key1:value1},{key2:value2},…]})

>db.mycol.find({
    $or:[
        { name:'张三'},
        {age:{$gte:30}}
    ]
})

#and+or

>db.mycol.find({
    sex:'男',
    $or:[
        {age:{$lt:25}},
        {age:{$gt:30}}
    ]
})
4.4 跳过数据查询

语法:db.mycol.find().skip(n)

>db.mycol.find().skip(3)
发布了26 篇原创文章 · 获赞 2 · 访问量 797

猜你喜欢

转载自blog.csdn.net/id__39/article/details/104226172