mongodb 常用语句

本贴最后更新于 2253 天前,其中的信息可能已经东海扬尘

mongodb 常用语句

1. 数据库操作

1.1 创建数据库

  • 创建数据库*(如果数据库存在则创建,否则则进入该数据库)*

    use blog

    注:创建数据库后,表中并不会出现在数据库列表中,需要添加数据后,才会出现在数据库列表中

1.2 修改数据库

  • 修改数据库的名称

    • 方法 1,拷贝当前数据库,再删除旧数据库

      db.copyDatabase("blog","blog_new") use blog_new db.dropDatabase()
    • 方法 2,复制数据库中的集合

      db.adminCommand({renameCollection:"blog.table1",to:"blog_new.table1"})

1.3 查询数据库

  • 查询 mongodb 中包含的数据库

    show dbs

  • 查询当前使用的数据库名称

    db

1.4 删除数据库

  • 删除数据库*(删除的是当前正在使用的数据库)*

    db.dropDatabase

2. 表操作

2.1 创建数据库表

  • 创建一张数据库表

    db.createCollection("student")

2.2 修改数据库表名

  • 修改数据库的表名称

    db.student.renameCollection("student_new")

2.3 查询

  • 查询数据库中的所有表

    show collections

2.4 删除

  • 删除数据库中的某张表

    db.students.drop()

3. 数据操作

3.1 插入数据

  • 插入一条数据

    db.student.insert({"name":"boolean"})

  • 插入多条数据*(此处插入便于后面进行查询)*

    db.student.insert([{ "_id": "T001", "name": "yjt", "age": 23, "sex": "man", "score": { "english": 76, "chinese": 74, "math": 67 }, "teacher": [{ "name": "赵", "age": 43, "subject": "math" }, { "name": "钱", "age": 54, "subject": "chinese" }, { "name": "钱", "age": 23, "subject": "english" } ], "habit": ["eat", "code"] }, { "_id": "T002", "name": "yan", "age": 24, "sex": "woman", "score": { "english": 66, "chinese": 77 }, "teacher": [{ "name": "钱", "age": 54, "subject": "chinese" }, { "name": "钱", "age": 23, "subject": "english" } ], "habit": ["run", "code"] }, { "_id": "T003", "name": "tao", "age": 28, "sex": "man", "score": { "english": 88 }, "teacher": [{ "name": "钱", "age": 23, "subject": "english" }], "habit": ["read", "movie"] } ])

3.2 更新表中的数据

  • 向数组中插入一条数据**(此处向 habit 中插入一条数据)**

    db.student.update({"_id":"T003"},{$addToSet:{"habit":"music"}})

  • 删除表中的某一个字段**(此处删除 id 为 T001 的 habit 字段)

    db.student.update({"_id":"T001"},{$unset:{"habit":""}},false,true)

  • 更新某个字段的值**(此处将 id 为 T001 的 age 更新为 20)

    db.student.update({"_id":"T001"},{$set:{"age":20}})

  • 为某张表添加某个字段**(此处将 id 为 T003 的数据添加一个 habit 字段)**

    db.student.update({"_id":"T003"},{$set:{habit:["read","music"]}},{multi:true})

  • 添加一个字段(url 代表表名 , 添加字段 content。 字符串类型)

    db.url.update({}, {$set: {content:""}}, {multi: 1})

  • 删除一个字段

    db.url.update({},{$unset:{'content':''}},false, true)

3.3 删除表中的数据

  • 删除数据库中符合条件的数据**(此处删除 name 为 yjt 的数据)**

    db.student.remove({"name":"yjt"})

  • 删除数据库中所有的数据

    db.student.remove({})

3.4 查询语句

  • 查询一张表的所有数据

    db.student.find()

  • 查询一张表的数据,按照某个字段排序**(此处按照排序)**

    db.student.find().sort({"age":1})

    注:1 为升序,-1 为降序

  • 查询一张表的数据,按照条件查询**(此处查询 id 为 T003 的数据)**

    db.student.find({"_id":"T003"})

  • 查询一张表的某个字段

    db.student.find({},{"_id":1,"name":1,"teacher":1})

    注:find()中第一个参数为查询条件,第二个参数为要查询的字段

  • 分组查询**(根据性别分组)**

    [{ "sex": "man", "num": 2.0 }, { "sex": "woman", "num": 1.0 } ]
  • 查询表中一个数组包含该数据**(查询 habit 包含 run 的数据)**

    db.student.find({"habit":{$in:["run"]}})

  • 查询文档中一个数组是否包含该数据**(查询 teacher 的 name 为钱并且 age 为 23 的数据)**

    db.student.find({ "teacher": { $elemMatch: { "name": "钱", "age": 23} } })

  • 查询某个字段是否存在

    db.student.find({"habit":{$exists:false}})

    true 查询该字段存在的数据,false 查询该字段不存在的数据

  • 模糊查询**(查询 name 中包含 y 的数据)**

    db.student.find({'name':/y/})

本文档持续更新,我会将我遇到的 mongdb 语句一直放在上面

MongoDB 修改数据库名-其實很簡單

Runoob-Mongodb 教程

  • B3log

    B3log 是一个开源组织,名字来源于“Bulletin Board Blog”缩写,目标是将独立博客与论坛结合,形成一种新的网络社区体验,详细请看 B3log 构思。目前 B3log 已经开源了多款产品:SymSoloVditor思源笔记

    1063 引用 • 3455 回帖 • 165 关注
  • MongoDB

    MongoDB(来自于英文单词“Humongous”,中文含义为“庞大”)是一个基于分布式文件存储的数据库,由 C++ 语言编写。旨在为应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似 JSON 的 BSON 格式,因此可以存储比较复杂的数据类型。

    90 引用 • 59 回帖 • 6 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...