MongoDB--默认监听端口27017

数据库的操做:mongodb

  建立数据库:数据库

    use 库名数组

  查看系统数据库ide

    show dbsspa

    系统数据库有:admin:存储用户信息code

              local:  存储本地数据对象

              config:存储分片信息blog

  删除数据库: db.dropDatabase()排序

  建立集合 :  db.createCollection(‘collection_name’)
         db.collecion_name.insert({...})索引

  删除集合 :  db.collection_name.drop()
  集合重命名: db.collection_name.renameCollection("new_name")
  查看集合:   show collections
         show tables

db : mongodb的全局量,表明当前正在使用的数据库

 

对集合的操做:

find(query,field)
功能 : 查找文档
参数 : query 查找条件,至关于where子句
    field 查找的域
返回值 : 查找到的全部文档

 

 find 的 
query : 以键值对方式传递参数,若是是空{}表示查找所 有内容 e.g. 查找全部性别为w的文档 db.class0.find({sex:'w'}) field : 以键值对的方式给出要查找(不查找)的域 以域名为键,以0,1为值分别表示不查找和查找 * 若是某一个或多个域设置为0 表示这些域不查找,其余域均查找 * 若是某一个或多个域设置为1 表示这些域查找,其余域均不查找 * _id 除非设置为0 不然均会查找 * 除_id域其余域不能有的设置1有的设置0 e.g. 查找结果只有name域 db.class0.find({sex:'w'},{_id:0,name:1}) findOne(query,field) 功能 : 查找第一条符合条件的文档 参数 : 同find 返回值: 返回查找到的文档 e.g. 查找集合中性别为女的第一个文档 db.class0.findOne({sex:'w'},{_id:0,name:1}) query更多的筛选用法 操做符 : 使用$符号注明的一个特殊字符串,表达必定的 含义,好比 $lt 表示小于
参数解释

 

query更多的筛选用法 操做符 : 使用$符号注明的一个特殊字符串,表达必定的 含义,好比 $lt 表示小于 比较操做符 $eq 等于 == e.g. 查找年龄等于18 db.class0.find({age:{$eq:18}},{_id:0}) ==》db.class0.find({age:18},{_id:0}) $lt 小于 < e.g. 查找年龄小于18的 db.class0.find({age:{$lt:18}},{_id:0}) db.class0.find({name:{$lt:"John"}},{_id:0}) * 在mongodb中字符串能够比较大小 $lte 小于等于 <= e.g. 年龄小于等于18 db.class0.find({age:{$lte:18}},{_id:0}) $gt 大于 > e.g. 查找年龄大于16 且 小于19 db.class0.find({age:{$gt:16,$lt:19}},{_id:0}) * 在mongodb中全部的{} [] 中均可以写多个条件。但根据参数的不一样表达的意思不同 $gte 大于等于 >= e.g. 大于等于19 db.class0.find({age:{$gte:19}},{_id:0}) $ne 不等于 != e.g. 性别不等于‘m’的 db.class0.find({sex:{$ne:'m'}},{_id:0}) * 使用ne查找也会找到该域不存在的文档 $in 包含 e.g. 找到年龄为 [10,20,30] db.class0.find({age:{$in:[10,20,30]}},{_id:0}) $nin 不包含 e.g. 找到年龄不是 17 18 19 的 db.class0.find({age:{$nin:[17,18,19]}},{_id:0}) 逻辑操做符 $and 1. 在 query 若是写多个条件默认即为 and 关系 e.g. db.class0.find({age:{$lt:18},sex:'m'},{_id:0}) 2. 逻辑与 $and e.g. 年龄小于18而且 性别为男 db.class0.find({$and:[{age:{$lt:18}},{sex:'m'}]},{_id:0}) $or 逻辑或 e.g. 年龄小于16或者年龄大于18 db.class0.find({$or:[{age:{$lte:16}},{age:{$gt:18}}]},{_id:0}) $not 逻辑非 e.g. 查找年龄不小于18岁的 db.class0.find({age:{$not:{$lt:18}}},{_id:0}) $nor not (a or b) ===> (not a) and (not b) e.g. 性别不是m且年龄不小于18 db.class0.find({$nor:[{sex:'m'},{age:{$lt:18}}]},{_id:0}) 逻辑条件混合 (年龄大于17 而且 为男生) 或者 姓名叫 Abby db.class0.find({$or:[{age:{$gt:17},sex:'m'},{name:'Abby'}]},{_id:0}) (年龄不大于18 或者为 女性) 而且 姓名 大于Lucy e.g. db.class0.find({$or:[{age:{$not:{$gt:18}}},{sex:'w'}],name:{$gt:'Lucy'}},{_id:0})
query更多的筛选用法

 

insert()

db.collection.insert() 功能 : 插入一个文档 参数 : 要插入的文档 插入单个文档 e.g. db.class0.insert({'name':'Lucy',"age":18,"sex":'w'}) db.class0.insert({_id:1,name:'Jame',age:16,sex:'m'}) * 插入操做中键能够不加引号 * 查看插入结果 db.class0.find() * _id 值能够本身插入,可是不能重复 插入多条文档 插入多条文档时,参数用中括号里面放入多个文档 e.g. db.class0.insert([{name:"Alex",age:19,sex:'m'},{name:'Abby',age:18,sex:'w'}]) 其余插入方法 insertOne() 插入一条文档 db.class0.insertOne({name:"Levi",age:20,sex:'m'}) insertMany() 插入多条文档 db.class0.insertMany([{name:"John",age:16,sex:'m'},{name:"Lenzer",age:17,sex:'m'}])
insert 插入文档

 

save()

db.collection.save() 若是正常插入与insert用法相同 e.g. db.class0.save({name:'Allen',age:19,sex:'m'}) db.class0.save([{name:"Sunny",age:17,sex:'w'},{name:'Alice',age:16,sex:'w'}]) 若是插入数据是有_id域,且_id域值存在时则会修改原有文档,若是该值不存在则正常插入 db.class0.save({_id:2,name:'Mary',age:20,sex:'w'}) 获取集合对象方法 db.class0 ===> db.getCollection('class0') e.g. db.getCollection("class0").find()
save插入文档

 

update()

remove()

 索引操做:

 

对文档中数组的操做:

 

数组修改器 $push 向数组中添加一项 e.g. 给小红 score数组中添加一项91 db.class1.update({name:'小红'},{$push:{score:91}}) $pushAll 向数组中添加多项 e.g. db.class1.update({name:'小乔'},{$pushAll:{score:[94,10]}}) $pull 从数组中删除一项 e.g. 从数组中删除一项 db.class1.update({name:'小红'},{$pull:{score:78}}) $pullAll 从数组中删除多项 e.g. db.class1.update({name:'小乔'},{$pullAll:{score:[92,10]}}) $each 对多个值逐个进行操做 e.g. 分别插入99 10 db.class1.update({name:'小乔'},{$push:{score:{$each:[99,10]}}}) $position 指定插入位置 e.g. 将67 插入到数组1号位置 db.class1.update({name:'小明'},{$push:{score:{$each:[67],$position:1}}}) $sort 数组排序 e.g. 将说有score域的数组降序排序 db.class1.update({},{$push:{score:{$each:[],$sort:-1}}},false,true) $pop 弹出一项 1表示弹出最后一项 -1弹出第一项 e.g. 删除小明score中第一项 db.class1.update({name:'小明'},{$pop:{score:-1}}) $addToSet 向数组中添加一项 可是不能添加剧复的内容 e.g. 若是数组中没有81 则添加81 db.class1.update({name:'小刚'},{$addToSet:{score:81}})
相关文章
相关标签/搜索