MongoDB基本操作

来源:互联网 发布:gamemaker 不需要编程 编辑:程序博客网 时间:2024/06/05 10:08

一.
Insert:
  db.post.insert({“_id”:12,"name":"jiang11","age":11})
Save:
> db.post.insert({"_id":12,"age":11})  //如果存在,则更新,否则插入

二.
删除指定的数据
> db.post.remove({"age" : {$gt : 10}})   //删除年龄的大于10的
> db.post.remove({"age":{$gt : 8},"name":"jiang10"})  //删除年龄大于8的并且名字为jiang10
删除所有的数据
> db.post.remove({})   //删除所有的数据

三.
修改指定的数据
> db.post.update({"name":"jiang9"},{$set : {"age":19}})  //更改name为jiang9的age为19
$set
用法:{$set:{field:value}}
作用:把文档中某个字段field的值设为value
"$set"用来指定一个键的值。如果这个键不存在,则创建它。
> db.users.update({"_id" : ObjectId("58171a4bae96c1c7528f48fb")},{"$set":{"hoby":"football"}})  //增加爱好的字段


Ø  db.users.update({"_id" :ObjectId("58171a4bae96c1c7528f48fb")},{"$set":{"hoby":["basketball","football","swimming"]}})   //增加爱好的内容


$unset

用法:{$unset:{field:1}}

作用:删除某个字段field

Ø  db.users.update({"_id" :ObjectId("58171a4bae96c1c7528f48fb")},{"$unset":{"hoby":1}})//完全删除爱好的字段


$inc

用法:{$inc:{field:value}}

作用:对一个数字字段的某个field增加value, value可以为负值

Ø  db.users.update({"_id" :ObjectId("58171a4bae96c1c7528f48fb")},{"$inc":{"pageviews":1}}) //增加访问的次数,自增加一


Ø  db.users.update({"_id" :ObjectId("58171a4bae96c1c7528f48fb")},{"$inc":{"pageviews":-1}}) //增加访问的次数,自增减一

$push

用法:{$push:{field:value}}

作用:把value追加到field里。注:field只能是数组类型,如果field不存在,会自动插入一个数组类型

Ø db.users.update({name:"zun"},{$push:{"ailas":"Beijing"}})   //像名字为zun的记录中追加一个别名


$pop

用法:删除数组内第一个值:{$pop:{field:-1}}、删除数组内最后一个值:{$pop:{field:1}}

作用:用于删除数组内的一个值

Ø db.users.update({"name":"jiang"},{$pop:{"hoby":1}})  //删除namejianghoby中的最后一个值


Ø db.users.update({"name":"jiang"},{$pop:{"hoby":-1}})  //删除namejianghoby中的第一个值


四.
用法:删除数组内第一个值:{$pop:{field:-1}}、删除数组内最后一个值:{$pop:{field:1}}集合查询方法 find()
语法: db.post.find( query , projection ) 
//可选.使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略).
//在第二个参数中,指定键名且值为1或者true则是查询结果中显示的键;若值为0或者false,则为不显示键。
//将返回集合中所有文档
Ødb.post.find()
或者
Ødb.post.find({})
Ødb.post.find({"_id":{$gt:3}},{"name":1})  //查询id大于3的,只要name字段


Ø  db.post.find({"_id":{$gt:3}},{"name":1,"_id":0})  //查询id大于3,只要name字段,且不显示id号


Ø  db.post.find({"_id":{$gt:3}},{"name":1,"age":1,"_id":0})  //查询id大于3的,要name和age字段,并且不显示id号


①  查询数量

Ø  Db.post.count()  //查询所有


Ø  Db.post.count({“age” : {$gt : 5}}) //查询年龄大于5的数量

Ø  Db.post.count({“age” : {$gte : 5}}) //查询年龄大于等于5的数量

Ø  Db.post.count({“age” : {$lt : 5}}) //查询年龄小于5的数量

Ø  Db.post.count({“age” : {$lte : 5}}) //查询年龄小于等于5的数量

 

①  查询一条数据

Ø  Db.post.findOne()  //默认显示升序

Ø  Db.post.findOne({“age”:10}) //查询年龄等于10 的数据

 

②  查询多条数据

Ø  Db.post.find()   //默认显示升序

Ø  db.post.find({"age":{$gt : 10}})   //查询年龄大于10的数据

Ø  db.post.find({"age":{$gte : 10}})   //查询年龄大于等于10的数据

Ø  db.post.find({"age":{$lt : 10}})   //查询年龄小于10的数据

db.post.find({"age":{$lt : 10}})   //查询年龄小于等于10的数据

五. 操作符

①  $all

Ø  db.post.find({"tags":{$all:["php"]}})  //查询tag中包含php的文档

Ø  db.post.find({"tags":{$all:["java","javascript"]}})  //查询tag中包含javascript和java的文档


①  $in

Ø  db.post.find({"_id" : {$in : [1,2]}})  //查询id为1和2的文档

Ø  db.post.find({"_id" : {$in : [1,3]}})  //查询id为1和3的文档


①  $nin

Ø  db.post.find({"_id" : {$nin : [1,3]}})  //查询id不等于1和3的文档


①  $ne

Ø  db.post.find({"_id" : {$ne : 1}})   //查询id不等于1的文档


Ø  db.post.find({"_id" : {$ne : 10}})    //查询id不等于10的文档


①  $gt , $gte ,$lt,$lte  (分别对应">"">=""<""<=")

Ø  db.post.find({"_id":{$gt:5}})  //查询id 大于5的文档

Ø  db.post.find({"_id":{$gte:5}})  //查询id 大于等于5的文档

Ø  db.post.find({"_id":{$lt:5}})   //查询id 小于5的文档

Ø  db.post.find({"_id":{$lte:5}})   //查询id 小于等于5的文档


①  $and

Ø  db.post.find({$and:[{"_id":{$lt:8}},{"age":{$gt:4}}]})  //查找id小于8的并且年龄大于4的


Ø  db.post.find({$and:[{"_id":{$lt:8}},{"age":{$gt:4}},{"age":{$ne:6}}]})  //查找id小于8并且年龄大于4且不等于6的


①  $nor

Ø  db.post.find({$nor : [{"_id":4},{"age":{$gt:8}}]})  //查询id不为4且age不大于8的


①  $not

Ø  db.post.find({"_id": {$not:{$gt:5}}})  //查找id不大于5的文档


Ø  db.post.find({"hell": {$not:{$gt:5}}}) //如果对指定的可以找不到,则返回全部数据


①  $or

Ø  db.post.find({$or:[{"_id":10},{"age":{$lt:10}}]})  //查找id为10且年龄小于10的文档


①  $exists

Ø  db.post.find({"age":{$exists:true,$lt:10,$ne:8}})  //如果存在age键,查询age小于10不为8的文档数据


db.post.find({"age":{$exists:false}})  //查询不存在age键的文档数据


六. 数据库操作

①  显示数据库列表

Ø  show dbs

②  切换当前数据库

Ø  use post  #使用某个数据库


③  删除当前数据库

Ø  db.dropDatabase();  #删除当前的数据库


④  显示当前数据库中的集合

Ø  show collections  # 显示当前数据库中的所有集合


⑤  创建当前数据库的一个所属集合

Ø  db.createCollection('users') #在当前数据库创建一个个users集合


⑥  除数据库中的某个集合

Ø  db.users.drop()    #删除当前数据库中的users集合


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 内六角螺丝滑丝怎么办 十字螺丝拧花了怎么办 梅花螺丝滑丝了怎么办 螺丝孔道滑丝了,怎么办 锅把铆钉松啦怎么办 膨胀螺丝孔大了怎么办 戒指不圆了怎么办妙招 眼镜框的腿断了怎么办 弹簧腿眼镜坏了怎么办 vps搭建ss被墙怎么办 注塑机螺杆黏料怎么办 分解师耐久度0了怎么办 有鼻涕擤不出来怎么办 擤鼻涕耳朵堵了怎么办 脸用什么都过敏怎么办 1岁宝宝流清鼻涕怎么办 2岁宝宝流清鼻涕怎么办 3岁儿童流清鼻涕怎么办 鼻子老是流清水鼻涕怎么办 5岁儿童感冒鼻塞怎么办 3岁宝宝感冒鼻塞怎么办 宝宝9个月流鼻涕怎么办 鼻涕又黄又粘稠怎么办 鼻子一直流黄水怎么办 宝宝眼屎多又黄怎么办 宝宝痰多鼻涕多怎么办 小孩痰多鼻涕多怎么办 用qq登不了微博怎么办 中国银行u盾丢了怎么办 我的世界遇见him怎么办 考军校年龄超了怎么办 dnf组队就红电脑怎么办 九阳高压锅漏气怎么办 晋江买了防盗章怎么办 开车撞了人应该怎么办 开车撞了人没钱怎么办 驾照扣分12分后怎么办 车被交警拖走了怎么办 符石耐久没了怎么办 冒险岛2老是掉线怎么办 冒险岛老是掉线怎么办