zoukankan      html  css  js  c++  java
  • 【mongoDB】学习笔记_02

    查询语句

    环境准备:

    > use mydb
    switched to db mydb
    > db.createCollection('user')
    { "ok" : 1 }
    >
    >
    > db.user.insert({name:'niuh',age:11})
    > db.user.insert({name:'kk',age:22})
    >
    >
    > db.post.find

    find() 语句

    //find() 用法:db.COLLECTION_NAME.find()

    这里可以看到每个文档都会自动创建一个_id属性,在上面看到的文档间逻辑关系里有用到

    db.user.find()
    { "_id" : ObjectId("58e761399a538671f6972318"), "name" : "niuh", "age" :
    11 }
    { "_id" : ObjectId("58e7614b9a538671f6972319"), "name" : "kk", "age" : 2
    2 }
    >

    MongoDB 中的 AND

    当 find() 中传入多个键值对时,MongoDB 就会将其作为 AND 查询处理。用法:db.mycol.find({ key1: value1, key2: value2 }).pretty()

    如: db.user.find({name:'kk'})

    或者:db.user.find({name:'kk',age:22})

    MongoDB 中的 OROR

    MongoDB 中,OR 查询语句以 $or 作为关键词,用法如下:

    查找姓名等于niuh或者年龄等于22的数据

    db.user.find({$or:[{name:'niuh'},{age:22}]})

    { "_id" : ObjectId("58e761399a538671f6972318"), "name" : "niuh", "age" :
    11 }
    { "_id" : ObjectId("58e7614b9a538671f6972319"), "name" : "kk", "age" : 2
    2 }

    同时使用 AND 和 OR

     db.user.find({age:{$gt:17},$or:[{name:'niuh'},{name:'niuh2'}]})

    { "_id" : ObjectId("58eaeed122f89f1af332122c"), "name" : "niuh2", "email
    " : "hylinux2@126.com", "age" : 18 }

    {$gt:17} 表示大于17,另外,$lt 表示小于,$lte 表示小于等于,$gte 表示大于等于,$ne 表示不等于。

    更新文档

    语法:db.COLLECTION_NAME.update(SELECTION_CRITERIA,UPDATED_DATA)

    > db.user.update({name:'niuh'},{$set:{email:'qqq@126.com'}})
    > db.user.find({name:'niuh'})
    { "_id" : ObjectId("58eaf28f721e412d9a5b6aef"), "age" : 20, "email" : "q
    qq@126.com", "name" : "niuh" }
    >

    • 第一个大括号内容标示查找条件,第二个大括号内容则表示更新后的数据
    • 默认的 update 函数只对一个文档更新,如果想作用所有文档,则需要加入 multi:true

    例子:db.user.update({name:'niuh'},{$set:{email:'qqq@126.com'}},{multi:true})

    删除文档

    语法:db.COLLECTION_NAME.remove(DELECTION_CRITERIA)

    操作实例:

    > db.user.remove({name:'niuh'})
    > db.user.find()
    { "_id" : ObjectId("58eaf2a7721e412d9a5b6af0"), "name" : "kkkk", "email"
    : "kkkk@126.com", "age" : 27 }
    >

    createCollection():创建集合

    db.COLLECTION.drop():删除集合

    db.COLLECTION_NAME.insert(document):插入文档

    db.COLLECTION_NAME.update(SELECTION_CRITERIA,UPDATED_DATA):更新文档

    db.COLLECTION_NAME.save({_id:ObjectId(),NEW_DATA}):替换已存在的文档

    db.COLLECTION_NAME.remove(DELECTION_CRITERIA):删除文档

  • 相关阅读:
    图解MySQL | [原理解析] MySQL使用固定的server_id导致数据丢失【转】
    故障分析 | 记一次 MySQL 主从双写导致的数据丢失问题【转】
    MySQL8.0之XtraBackup【转】
    使用pt-table-checksum校验MySQL主从复制【转】
    MySQL基于 GTID 的多源复制【转】
    pyenv虚拟环境管理python多版本和软件库【转】
    MySQL SQL编写笔记
    linux安装oracle客户端【转】
    spring-cloud-gateway获取post请求body参数以及响应数据
    spring-webflux中Flux<DataBuffer> 转String
  • 原文地址:https://www.cnblogs.com/hylinux/p/6679445.html
Copyright © 2011-2022 走看看