1. 连接数据库

    打开cmd命令行工具,输入mongo
    image.png
    清屏:

    1. cls

    查看所有数据库列表:

    1. show dbs
    1. 新建数据库,查找、删除数据库

    1)数据库,集合,数据之间的从属关系
    image.png
    2) 数据库操作的相关命令,以下使用jsthin作为数据库名
    使用数据库(数据库存在则使用,不存在则创建):
    use jsthin

    输入db,可以查看当前数据库
    此时数据库并未真正创建,需要插入一条数据才能生效,如下往jsthin数据库的user集合插入一条数据:
    db.user.insert({"name": "dell"})

    展示当前数据库下的集合列表:
    show collections

    删除当前数据库:
    db.dropDatabase()

    删除当前数据库的集合,以下输出jsthin数据库下的user集合:
    db.user.drop()

    1. 插入数据

    插入单条数据
    db.user.insert({"name": "dell", "age":18})

    插入多条数据,可以用for循环生成多条数据然后插入:
    var data = [{"name": "dell", "age":18}, {"name": "lee", "age":18}];
    db.user.insert(data)

    1. 查找文档

    查询所有文档:
    db.user.find()

    查询去掉后的当前聚集集合中的某列的重复数据:
    db.user.find("name")
    会过滤掉name字段中相同的数据

    查询name = dell的数据
    db.user.find({name: "dell"})

    查询age>20的数据(greater than)
    db.user.find({age: {$gt: 20}})

    查询age>=20的数据(greater than or equal)
    db.user.find({age: {$gte: 20}})

    查询age<20的数据(less than)
    db.user.find({age: {$lt: 20}})

    查询age<=20的数据(less than or equal)
    db.user.find({age: {$lte: 20}})

    查询age<20 并且age>16的数据
    db.user.find({age: {$gt: 16, $lt: 20}})

    查询name中包含“mongo”的数据,模糊查询
    db.user.find({name: /mongo/})

    查询name中以“mongo”开头的数据,模糊查询
    db.user.find({name: /^mongo/})

    查询name中以“mongo”结尾的数据,模糊查询
    db.user.find({name: /mongo$/})

    查询指定列name, age的数据,既查找的数据只包含name、age属性{name:xxx, age: xx }
    1表示真的意思,也可以使用true、false,如果是false则表示排除该列,不会包含在查询结果中
    db.user.find({},{name: 1, age: 1})

    查询指定列name, age并且age > 18的数据
    db.user.find({age: {$gt: 18}},{name: 1, age: 1})

    查询结果按年龄排列, 1表示升序,-1表示降序
    db.user.find().sort({age: 1})
    db.user.find().sort({age: -1})

    查询age = 18, name = dell的数据
    db.user.find({name: "dell", age: 18})

    查询前五条数据
    db.user.find().limit(5)

    查询后十条数据
    db.user.find().skip(10)

    查询5-10之间数据前十条中的后五条
    db.user.find().limit(10).skip(5)

    or 与查询,查询年龄在20岁和18岁的数据
    db.user.find($or: [{age: 20}, {age: 18}]})

    查询第一条数据
    db.user.findOne()
    或者
    db.user.find().limit(1)

    查询文档统计
    db.user.find().count()

    查询某个结果集的文档统计
    db.user.find({name: "dell"}).count()
    如果要返回限制之后的记录数量,要使用 count(true)或者 count(非 0)
    db.user.find().limit(10).skip(5).count(true)

    1. 修改文档

    update() 方法
    db.collection.update(
    ,
    ,
    {
    upsert: ,
    multi: ,
    writeConcern:
    }
    )
    参数说明:

    • query : update的查询条件,类似sql update查询内where后面的。
    • update : update的对象和一些更新的操作符(如$,$inc…)等,也可以理解为sql update查询内set后面的
    • upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
    • multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
    • writeConcern :可选,抛出异常的级别。

    实例
    查询名字叫dell的,把age改为25
    db.user.update({name: "dell"}, {$set: {age: 25}})

    更改所有匹配的项目(multi)
    db.user.update({name: "dell"}, {$set: {age: 25}}, {multi: true})

    注意!$set的用法,如果未加上$set,执行的操作是对文档的覆盖,是一个完整的替换,如
    db.user.update({name: "dell"}, {{age: 25}})

    1. 删除文档

    删除name为dell的文档
    db.collectionsNames.remove( { "name": "dell" } )

    删除匹配的第一条数据
    db.collectionsNames.remove( { "name": "dell" }, {justOne: true} )

    结语:以上~~~,觉得有用就点个赞吧