mongo与关系型数据库的概念对比,区分大小写,_id为主键。

mongo基本使用方法

 

1.数据库操作

>show dbs   #查看所有数据库

>use dbname    #创建和切换数据库(如果dbname存在则切换到该数据库,不存在则创建并切换到该数据库;新创建的数据库不会显示,需要插入记录才会显示)

>db.dropDatabase()  #删除数据库(需要先use进入到需要删除的数据库)

 

2.集合操作

>show collections或者show tables  #查看集合(需要先use进入数据库)

>db.createCollection(集合名字,参数)   #创建集合

>db.集合名.drop()   #删除集合

 

3.文档操作

>db.集合名.insert(文档)   #插入文档,如果集合在该数据库中不存在会先创建集合

>db.col.insert({
    title: 'MongoDB教程', 
    description: 'MongoDB是一个Nosql数据库',
    by: '菜鸟教程',
    url: 'https://www.runoob.com/mongodb/mongodb-tutorial.html',
    tags: ['mongodb', 'database', 'NoSQL'],
    likes: 100
})

>db.col.insert({
    title: 'MySQL教程', 
    description: 'MySQL是一个sql数据库',
    by: '菜鸟教程',
    url: 'https://www.runoob.com/mysql/mysql-tutorial.html',
    tags: ['MySQL', 'database', 'SQL'],
    likes: 200
})

 

 

>db.集合名.find(查询条件).pretty()   #查询文档,find是以非结构化的形式显示所有文档,加上pretty()以结构化的形式显示

对应的findOne方法返回第一个满足条件的文档

> db.col.find().pretty()
{
        "_id" : ObjectId("5d2e94f240515ad8a4693240"),
        "title" : "MongoDB教程",
        "description" : "MongoDB是一个Nosql数据库",
        "by" : "菜鸟教程",
        "url" : "https://www.runoob.com/mongodb/mongodb-tutorial.html",
        "tags" : [
                "mongodb",
                "database",
                "NoSQL"
        ],
        "likes" : 100
}
{
        "_id" : ObjectId("5d2e960d40515ad8a4693241"),
        "title" : "MySQL教程",
        "description" : "MySQL是一个sql数据库",
        "by" : "菜鸟教程",
        "url" : "https://www.runoob.com/mysql/mysql-tutorial.html",
        "tags" : [
                "MySQL",
                "database",
                "SQL"
        ],
        "likes" : 200
}

 

 

>db.集合名.update(查询条件,更新操作,{upsert: <boolean>,multi: <boolean>,writeConcern: <document>})     #更新文档

  • upsert : 可选,如果不存在update的记录是否插入为新记录,true为插入,默认是false不插入。
  • multi : 可选,默认是false,只更新找到的第一条记录,如果设置为true则将按条件查出来的所有记录全部更新。
  • writeConcern :可选,抛出异常的级别。
> db.col.update({by:'菜鸟教程'},{$set:{likes:500}},{upsert:true,multi:true}) 
  WriteResult({ "nMatched" : 2, "nUpserted" : 0, "nModified" : 2 })

 

>db.集合名.save(文档)      #更新文档 

根据_id进行判断,如果要save的记录在原集合中存在,则按照内容对已存在的文档进行更新,如果不存在则进行插入。

> db.col.save({
    "_id" : ObjectId("5d2e960d40515ad8a4693241"),
    title: 'Python教程',
    description: 'Python是一种解释型、面向对象、动态数据类型的高级程序设计语言',
    by: '菜鸟教程',
    url: 'https://www.runoob.com/python3/python3-tutorial.html',
    tags: ['Python', '开发', '编程'],
    likes: 1000
 })
 WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

 

db.col.save({
    "_id" : ObjectId("5d2e960d40515ad8a4693250"),
    title: 'HTML',
    description: '是一种用于创建网页的标准标记语言',
    by: '菜鸟教程',
    url: 'https://www.runoob.com/html/html-tutorial.html',
    tags: ['HTML', '前端', '编程'],
    likes: 300
})
WriteResult({ "nMatched" : 0, "nUpserted" : 1, "nModified" : 0 })

 

>db.集合名.remove(查询条件,justOne,writeConcern )   #删除文档 

  • query :(可选)删除的文档的条件。
  • justOne : (可选)如果设为 true 或 1,只删除一个文档,不设置该参数使用默认值 false,删除所有匹配条件的文档。
  • writeConcern :(可选)抛出异常的级别。
>db.col.remove({by:'菜鸟教程'},1)
WithResult({"nRemoved":1})
>db.col.remove({by:'菜鸟教程'})
WithResult({"nRemoved":2})


db.col.remove({})删除所有文档

 

相关文章:

  • 2021-11-27
  • 2022-12-23
  • 2021-10-28
  • 2021-11-30
  • 2021-12-23
  • 2021-07-24
  • 2021-04-26
  • 2021-04-24
猜你喜欢
  • 2022-02-05
  • 2021-07-07
  • 2022-03-03
  • 2022-02-07
  • 2021-12-11
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案