目录 一.前言 1. 运行环境 二.前期准备工作 1. 创建 MongoDBContext MongoDb操作上下文类 2.创建测试类 3.创建测试代码 三.内嵌数组增加元素操作 1.Update.Set()方法 替换内嵌数组(不推荐使用) 2.Update.Push()方法 直接将元素压入内嵌数组(推荐) 3. Update.PushEach()方法 将多个元素压入内嵌数组(推荐) 四.内嵌数组删除元素操作 1. Update.Set()方法 替换内嵌数组(不推荐使用) 2. Update.P…
经过前几天的学习之路,今天终于到了重头戏了.那就是文档查询操作.话不多说哈,直接看下语法: db.collection.find(query, projection) query :可选,使用查询操作符指定查询条件 projection :可选,使用投影操作符指定返回的键.查询时返回文档中所有键值, 只需省略该参数即可(默认省略).     这里还有一种读取的方式,是格式化显示数据的,看一下语法: >db.luyaran.find().pretty()     好啦,大家来看一下实例,比较容易理…
上一篇文章呢,已经分享过了一部分查询操作了,这篇文章呢?就来继续分享哈.接下来呢我们直接看MongoDB中的$type操作符哈.它呢是基于BSON类型来检索集合中匹配的数据类型,并且返回结果,在MongoDB中可以使用的数据类型如下: 类型 数字 备注 Double 1   String 2   Object 3   Array 4   Binary data 5   Undefined 6 已废弃. Object id 7   Boolean 8   Date 9   Null 10   Re…
之前的两篇文章,已经分享过关于MongoDB的集合还有数据库的各种操作,接下来就涉及到最主要的喽,那就是数据方面的操作,在这里叫做文档操作.话不多说,大家来看正文.     首先来看一下它的数据结构:     文档的数据结构和JSON基本一样.     所有存储在集合中的数据都是BSON格式.     BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON.     完事之后呢,咱们就来看一下MongoDB的基本语法,首先是插入:      db.COLLECTION_N…
1.文档的数据存储格式为BSON,类似于JSON.MongoDB插入数据时会检验数据中是否有“_id”,如果没有会自动生成.shell操作有insert和save两种方法.当插入一条数据有“_id”值,并且现在集合中已经有相同的值,使用insert插入时插入不进去,使用save时,会更新数据. > db.student.drop() true > db.student.insert({"_id": 1, "name":"zhangsan&quo…
插入文档 db.COLLECTION_NAME.insert({doc1},{doc2},...) e.g.:db.collection.insert({name:'123',age:12},{name:'cmn',sex:'male'}) 更新文档 db.COLLECTION_NAME.update(SELECTION_CRITERIA,UPDATE_DATA) e.g.:db.COLLECTION_NAME.update({user_id:'2',email:'test@qq.com'},{…
db.集合名称.update({query},{update},upsert, multi})query:过滤条件update:修改内容upsert:如果不存在查询条件查出的记录,是否插入一条数据,默认是falsemulti:是否只修改查询条件查出的第一条记录,默认是false > db.student.update({_id:1}, {name:"zhang"}) WriteResult({ "nMatched" : 1, "nUpserted&q…
db.集合名称.remove({query}, justOne)query:过滤条件,可选justOne:是否只删除查询到的第一条数据,值为true或者1时,只删除一条数据,默认为false,可选. 准备数据:把_id为1和2的age都变成28 > db.student.update({_id:1},{$set:{age:28}}) WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified&q…
MongoDB系列第一课:MongDB简介 MongoDB系列第二课:MongDB环境搭建 MongoDB系列第三课:MongDB用户管理 MongoDB系列第四课:MongoDB数据库.集合.文档的操作 一.数据库的操作 1.1 创建数据库 在MongoDB中创建数据库的命令使用的是use命令.该命令有两层含义: 1)切换到指定数据库. 2)如果切换的数据库不存在,则创建该数据库. 我们使用use命令创建一个名为sxttest的数据库. 1.2 查看所有数据库 我们可以通过show dbs 命…
Mongodb不支持多文档原子性操作,因此依据两阶段提交协议(Two Phase Commits protocol)来模拟事务. 以两个银行账户之间的转账行为为例,来说明如何实现多文档间的事务操作. 为实现多文档间的事务操作,定义一个事务文档TransactionDocument,储存在事务集合TransactionCollection中 public class TransactionDocument2 { public object _id { set; get; } //原账户 publi…