zoukankan      html  css  js  c++  java
  • MongoDB的基本使用

    MongoDB简介

    • 基于分布式文件存储的开源数据库系统
    • 将数据存储为一个文档,文档类似于Json格式


    MongoDB进入与退出

    • 进入:mongo
    • 退出:exit


    库级操作

    • 显示所有库: show dbs
    • 切换/创建数据库: use 数据库名称
    • 查看所在库: db
    • 删除库:db.dropDatabase() -- 切换到要删除的数据库里进行删除


    集合操作

    • 显示当前数据库的集合: show collections
    • 创建集合: db.createCollection( '集合名称' )
    • 删除集合: db.集合名称.drop() -- 返回 true 或 false


    文档操作

    添加文档(数据)     db.集合名称.insert(document)

    • 每一条数据,就是一个document,就是一条json
    • 添加文档时,如果不指定_id参数,MongoDB会为文档分配一个唯一的ObjectId
      • 例: db.student.insert({'_id':1, name:'xiaoming', age:18})
    • 添加多条文档
      • 例: db.student.insert( [ { } , { } , ... ] )

    删除文档(数据)     db.集合名称.remove(<query>, {justOne:})

    • 删除集合中所有的文档:db.table.remove( {} )
    • 删除集合中满足条件的所有文档:db.table.remove({sex: '男'})
    • 只删除集合中满足条件的第一条文档: { justOne: true }
      • 例: db.table.remove({sex:'男'}, { justOne:true} )

    修改文档(数据)     db.集合名称.update(<query>, <update>, {multi:<boolean>})

    • 修改一条数据: db.table.update({name:'xiaoming'}, {age:20})--(只有age,没有name了,整条数据变成<update>里的内容)
    • 指定属性修改: { $set: {age:20} }
      • 例: db.table.update({name:'xiaoming'}, {$set: {age:666, sex: 'xx'}} )
    • 更新集合中所有满足条件的文档: { multi: true }
      • 例: db.table.update({sex:'男'}, {$set:{sex:'女'}}, { multi:true} )

    查询文档(数据)     db.集合名称.find([conditions])

    • 查看集合中全部数据: db.student.find()
    • 格式化显示: db.student.find().pretty()
    • 查看满足条件的数据: db.student.find({name:'xiaoming'})

    简单条件

    • and条件
      • {$and:[{expression1}, {expression1}, ...] }
    • or条件
      • { $or : [ { } , { }, ...] }
    • and和or混用
      • db.table.find( {$or:[ {$and:[{sex:'女'}, {age:18}]} , {$and:[{sex:'男'}, {age:{$gt:18}}]} ] } )
      • db.table.find( { $or : [ { $and:[ { } , { } ] } , { $and:[ { } , { } ] } ] } )
    • 操作符
      • $ne:不等于
      • $gt :大于
      • $lt :小于
      • $gte:大于等于
      • $lte :小于等于
      • 例:db.user.find( { 'age' : {'$ne': 45 } } )




  • 相关阅读:
    打印java 对象信息的小技巧
    git 忽略已经跟踪文件的改动
    mysql主从备份方案
    Lucene4.3和Lucene3.5性能对比(二)
    Lucene4.3和Lucene3.5性能对比(一)
    Cracking the coding interview--Q1.1
    CRACKING THE CODING INTERVIEW 笔记(1)
    关于名称重整(name mangling)、多态性的一些简单介绍
    shell中sed用法
    GDB调试GCC(jRate)
  • 原文地址:https://www.cnblogs.com/jiyu-hlzy/p/11931261.html
Copyright © 2011-2022 走看看