zoukankan      html  css  js  c++  java
  • mongodb增删改查(上)

    上一讲生成了mongodb服务,这里可以手动启动

    方式;windows+R    ->     services.msc     ->   找到mongodb并启动

    或者以管理员身份启动cmd,输入net start mongodb

    然后可以在cmd中输入mongodb的命令了。

    首先输入mongo     (输入之后才可以启动mongodb命令)

    便可以查看mongodb的一些信息

    假如报错,可以将mongodb的bin文件夹路径添加到环境变量中

    【添加数据库】

    使用use  数据库名        (如果有这个数据库的表示切换到当前数据库进行操作)

    eg:  use  adu

    没有数据库就会自动创建数据库

    【查看所有数据库】

    show  dbs

    (空数据库不会显示,比如上面创建的adu)

    【删除数据库】

    db.dropDatabase()       (这里的db是当前use的对象)

    【创建集合】

    集合相当于表

    db.createCollection("aduya")

    【删除集合】

    db.aduya.drop()

    (其中aduya为自定义集合名)

    【展示所有集合】

    show collections     (这里是相对数据库而言的,也就是当前use的数据库)

    【向集合中插入文档】

    文档,相当于一行行数据

    语法:

    db.collection.insertOne() / db.collection.replaceOne()   :如果 _id 主键存在则更新数据,如果不存在就插入数据。

    db.collection.insert():若插入的数据主键已经存在,则会抛 org.springframework.dao.DuplicateKeyException 异常,提示主键重复,不保存当前数据。

    括号中写入的是要插入的文档

    格式:

    db.collection.insertOne(
       <document>,
       {
          writeConcern: <document>
       }
    )

    插入多条:

    db.collection.insertMany(
       [ <document 1> , <document 2>, ... ],
       {
          writeConcern: <document>,
          ordered: <boolean>
       }
    )

    其中,writeConcern:写入策略,默认为 1,即要求确认写操作,0 是不要求

    ordered:指定是否按顺序写入,默认 true,按顺序写入

    实例:

    db.col.insert({title: 'MongoDB 教程', 
        description: 'MongoDB 是一个 Nosql 数据库'
    })

    【修改集合中的文档】

    语法格式:

    db.collection.update(
       <query>,
       <update>,
       {
         upsert: <boolean>,
         multi: <boolean>,
         writeConcern: <document>
       }
    )

    说明:

    query:更改条件,相当于where

    update:update的对象和一些更新的操作符

    upsert:如果不存在记录,是否插入新对象,默认是false,不插入,可选

    multi:是否修改查询到的所有记录,默认是false,只更改第一个,可选

    writeConcern:抛出的异常级别,可选

    实例:

     db.aduya.update({'addr':'wuhan'},{$set:{'name':'adus'}})

    $set: 表示赋值

    展示结果:

    db.aduya.find().pretty()

    pretty()   采用竖直排列,更直观一点。不使用的话,便会横向显示

    还有另一种更新方法:

    db.collection.save(
       <document>,
       {
         writeConcern: <document>
       }
    )

    save()传入文档的形式直接覆盖原文档,如果id存在就覆盖,不存在就插入

    未完待续,持续更新中...

    记录编程的点滴,体会学习的乐趣
  • 相关阅读:
    powershell查看pc信息的常用命令
    OSPF_Network-type
    redistribute and Suboptimal routing
    redistribute_prefix
    分发列表
    自增和自减
    逻辑运算
    判断闰年
    XenApp简单部署
    使用git将本地文件提交到github存储库
  • 原文地址:https://www.cnblogs.com/AduBlog/p/13752444.html
Copyright © 2011-2022 走看看