• 【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):删除文档

  • 相关阅读:
    bootstrap-table实现分页、导出数据至excel
    Python求多个list的交集、并集、差集 & list 排序
    JS
    python 格式化输出(% VS format)
    pyqt5_实例:修改xml文件中节点值
    博客迁移
    Reverse is Multiplex, You Need PinTools.
    ISCC2018_leftleftrightright-Writeup
    如何在linux主机上运行/调试 arm/mips架构的binary
    强网杯2018
  • 原文地址:https://www.cnblogs.com/hylinux/p/6679445.html
Copyright © 2020-2023  润新知