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}}) //删除name为jiang的hoby中的最后一个值
Ø db.users.update({"name":"jiang"},{$pop:{"hoby":-1}}) //删除name为jiang的hoby中的第一个值
用法:删除数组内第一个值:{$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集合
- mongodb 基本操作
- MongoDB 基本操作语法
- mongodb基本操作
- mongoDB中基本操作
- Mongodb 基本操作
- MongoDB 基本操作尝试
- MongoDB基本操作
- MongoDB数据表基本操作
- MongoDB 基本操作
- MongoDB 基本操作
- MongoDB数据表基本操作
- mongodb基本操作
- mongodb+java基本操作
- MongoDB 基本操作
- mongodb 的基本操作
- MongoDB 常用基本操作
- MongoDB -- 基本操作
- MongoDB基本操作
- bzoj 1054: [HAOI2008]移动玩具 (bfs)
- 关于不会命中断点。还没有为该文档加载任何符号的解决方案
- discuz中快速建立增查删改界面:第3步,查看运行结果
- SVN版本管理配置
- Linux IO实时监控iostat命令详解
- MongoDB基本操作
- 常见排序算法代码整理
- BigDecimal设置小数点位数
- libsvm中grid.py参数自动寻优
- Easy:字符串按单词反转
- 对与RestFul的一些理解
- Qt-图像绘制控制之QMatrix类
- C运行时库CRT(C Run-time Library)详解
- 数据库的基础知识学习笔记(用的是wampserver中的mysql数据库)