>> 创建:
·db.foo.insert({"bar":"baz"}) //如果文档中没有"_id"键会自动增加一个
·db.foo.batchInsert([{"_id":0},{"_id":2}])
 //只适用将多个文档插入到一个集合,不能单次请求中多个文档批量插入多个集合中
 // 当前Mongo能接收最大的消息长度是48M
 
# 插入校验
·每个文档必须小于16M (Object.bsonsize(doc)查看bson大小)
 
>> 删除:
·db.foo.remove()//删除所有集合中的文档,但是不删除集合本身
·db.foo.remove({"opt":true})
·db.foo.drop()//删除整个集合(慎用) >> 更新:
# 基本更新:
·db.foo.update() //更新的过程中必须保证同一个文档键不能重复 # 修改器:
·db.foo.update({"game":"game"},{"$inc":{"score":1000}}) //$inc 是对某个字段的值进行增加和减少操作,适用于数值类型
·db.foo.update({"_id":1},{"$set":{"fav":"fav"}}) //修改非数值类型的字段的值
·db.foo.update({"_id":1},{"$unset":{"fav":1}}) //删除这个键
+ 数组修改器: + 添加元素:
·db.foo.update({"title":"blog"},{"$push":{"comments":"comments"}}) //在文档中添加一个元素
·db.foo.update({"title":"blog"},{"$push":{"comments":{"$each":[1,3,5]}})//添加多个值
·db.foo.update({"title":"blog"},{"$push":{"comments":{"$each":[1,3,5],"$slice":-10}})
 //设置添加元素的数量,"$slice"值为负整数
·db.foo.update({"title":"blog"},{"$push":{"comments":{"$each":[1,3,5],"$slice":-10,"$sort":{"rating":-1}}})
//"$slice","$sort"与"$push"配合使用,必须使用"$each" # 数组操作:
·db.papers.update({{"authors":{"$ne":"richie"}},{"$push":{"authors":richie}}}) //$ne先查询数组中是否存在这个元素
·db.users.update({"_id":1},{"$addToSet":{"emails":"joe@gmial.com"}}) //避免插入重复的值
·db.users.update({"_id":1},{"$addToSet":{"emails":{"$each":["joe@gmial.com","job@gmial.com"]}}}) ·db.blog.update({"post":post_id},{"$inc":{"comments.0.votes":1}})//基于数组的下标位置修改
·db.blog.update({"commetns.author":"john"},{"$set":{"comments.$.author":"jim"}}) # 删除元素:
·db.lists.update{{},{"$pull":{"todo":"laundry"}}} //指定条件删除某个元素,会将所有匹配的值删除
·{"$pop":{"key":1}}//从数组末尾删除
·{"$pop":{"key":-1}} //从数组头部删除 >> 特殊更新:
·db.blog.update({"url":"/blog"},{"$inc":{"pageviews":1},true})//true如果没有找到更新条件的文档则创建
·db.users.update({},{"$setOnInsert":{"createdAt":new Date()},true}) //创建时赋值,之后所有的更新操作都不会改变 # save(doc)函数:如果文档存在就更新文档,如果不存在就创建 >> 更新多个文档:??
·findAndModify => 写入安全: >> 查询
# 基本查询:
·db.users.find({},{"username":1,"email":1,"_id": 0}) //指定某个字段显示 # 带条件的查询:
内层文档:"$lt"、"lte"、"$gt"、"gte" 对应<,<= ,> ,>=
外层文档:"$and","$or","$nor"
·db.users.find({"registered":{"$lt":start}})
·db.users.find({"username":{"$ne":"joe"}}) 查询所有名字不为joe的用户 ·db.raffle.find({"ticket":{"$in":[1,2,3]}}) //一个键与多个值匹配
·db.raffle.find({"$or":[{"ticket":{"$in":[1,3,5]}},{"winner":true}]}) //or查询 ·db.users.find({"id_num":{"$mod":[5,1]}})
·db.users.find({"id_num":{"$not":{"$mod":[5,1]}}}) => 一个键可以任意组合多个条件,但是一个键不能对应多个更新修改器 # 特定类型查询:
·db.c.find({"z":{"$in":[null],"$exists":true}}) //null查询
·db.users.find({"name":/joe/i})//正则表达式查询 # 数组查询:
·db.food.find({"friut":{$all:["apple","banana"]}})
·精确匹配对于数组依赖顺序

MongoDB: CURD操作的更多相关文章

  1. MongoDB的安装及CURD操作

    MongoDB的下载地址:http://www.mongodb.org/downloads MongoDB有32bit和64bit两个版本,32bit只能存放2GB数据.我们选择64bit版进行下载. ...

  2. windows下mongodb基础玩法系列二CURD操作(创建、更新、读取和删除)

    windows下mongodb基础玩法系列 windows下mongodb基础玩法系列一介绍与安装 windows下mongodb基础玩法系列二CURD操作(创建.更新.读取和删除) windows下 ...

  3. MongoDB的一些CURD操作

    MongoDB的一些增删改查命令操作: 官方文档参考  https://docs.mongodb.com/manual/reference/method/ https://docs.mongodb.c ...

  4. MongoDB安装、CURD操作、使用场景分析总结(1)

    NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL".非关系型的数据存储 MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写.旨在为 ...

  5. MongoDB学习笔记~自己封装的Curd操作(按需更新的先决条件)

    回到目录 我们上一讲中介绍了大叔封装的Mongo仓储,其中介绍了几个不错的curd操作,而对于按需更新内部子对象,它是有条件的,即你的子对象不能为null,也就是说,我们在建立主对象时,应该为子对象赋 ...

  6. MongoDB查询操作限制返回字段的方法

    这篇文章主要介绍了MongoDB查询操作限制返回字段的方法,需要的朋友可以参考下   映射(projection )声明用来限制所有查询匹配文档的返回字段.projection以文档的形式列举结果集中 ...

  7. Laravel框架数据库CURD操作、连贯操作使用方法

    Laravel框架数据库CURD操作.连贯如何来操作了这个操作性是非常的方便简单了我们在这里来为各位介绍一篇相关的教程,具体的细节步骤如下文介绍.   Laravel是一套简洁.优雅的PHP Web开 ...

  8. php对xml文件进行CURD操作

    XML是一种数据存储.交换.表达的标准: - 存储:优势在于半结构化,可以自定义schema,相比关系型二维表,不用遵循第一范式(可以有嵌套关系): - 交换:可以通过schema实现异构数据集成: ...

  9. EasyUI-datagrid数据展示+MongoDB数据操作

    使用EasyUI-datagrid进行数据展示:进行添加,修改,删除操作逻辑代码,数据源来自MongoDB. 一.新建SiteInfo控制器,添加Index页面:http://www.cnblogs. ...

随机推荐

  1. Android-完全退出当前应用程序的四种方法

    Android程序有很多Activity,比如说主窗口A,调用了子窗口B,如果在B中直接finish(), 接下里显示的是A.在B中如何关闭整个Android应用程序呢?本人总结了几种比较简单的实现方 ...

  2. 【深圳】OSC源创会第44期 开始报名

    时间:2016-03-19 14:00 地点: 深圳 南山区海德三道天利中央商务广场B座负一楼(意启创业) 费用:50元/人(现场交),女士.50积分的账号.开源软件作者.学生免费 (用于准备茶歇小食 ...

  3. React入门 (1)—使用指南(包括ES5和ES6对比)

    前言 本篇会简明扼要的介绍一下React的使用方法.代码会用JSX+ES5和JSX+ES6两种方式实现. React简介 React来自Facebook,于2013年开源.至今不断修改完善,现在已经到 ...

  4. windows7下启动mysql服务出现服务名无效

    出现提示: WIN 7 cmd命令行下,net start mysql,出现 服务名无效提示: 问题原因: mysql服务没有安装. 解决办法: 在 mysql bin目录下 以管理员的权限 执行 m ...

  5. 在线音乐网站【03】Part one 功能实现

    今天打算把网站功能的具体实现给总结一下,如果你想了解整个小项目,建议你先看看前面2篇博客. 1.在线音乐网站(1)需求和功能结构 2.在线音乐网站(2)数据库和开发环境 7.网站主要模块实现 a.在线 ...

  6. JS事件详解

    hello,我是沐晴,最近呢,来总结一下 JS中的常用的事件,希望我们都能一起查漏补缺. 焦点事件 焦点事件在表单中经常用到,那什么是焦点呢?比如我们文本框里面的有光标的时候,就是获得了焦点,我们就可 ...

  7. Sql server使用Merge关键字做插入或更新操作

    Merge是关于对于两个表之间的数据进行操作的. 要使用Merge的场景比如: 数据同步 数据转换 基于源表对目标表做Insert,Update,Delete操作 MERGE语句的基本语法: MERG ...

  8. arguments.callee 调用自身 caller,callee,apply and call

    一.Arguments该对象代表正在执行的函数和调用他的函数的参数.[function.]arguments[n]参数function :选项.当前正在执行的 Function 对象的名字.n :选项 ...

  9. linux 权限

    ls -la 查看文件 drwxr-xr-x 2 root root 4096 ...... 第一个d:代表目录:-代表文件 后面三个一组:r:读:w:写:x:执行 第一个root 代表所属用户: 第 ...

  10. SQL-Server下载地址

    有同学费尽心思的找SQL server数据库各版本的下载地址,看到别人的求助贴就不自觉的想去帮助他们,但是一个一个去帮助又不太现实,毕竟个人精力有限,既然大家有需求,那么艾薇百科今天就本着乐于分享和奉 ...