MongoDB查询并更新一粟
2016-03-11 22:24
495 查看
//更新操作使用collection的Update方法,有泛型和非泛型两个版本: //其签名如下(列出了两个简单并常用的的重载,还有几个): public virtual WriteConcernResult Update(IMongoQuery query, IMongoUpdate update); public virtual WriteConcernResult Update(IMongoQuery query, IMongoUpdate update, UpdateFlags flags)
/// <summary> /// 学生实体类 /// </summary> public class Student { public ObjectId Id { get; set; } /// <summary> /// 姓名 /// </summary> public string Name { get; set; } /// <summary> /// 年龄 /// </summary> public Int32 Age { get; set; } /// <summary> /// 地址 /// </summary> public Address Address { get; set; } } /// <summary> /// 地址 /// </summary> public class Address { /// <summary> /// 城市 /// </summary> public String City { get; set; } /// <summary> /// 邮编 /// </summary> public String PostCode { get; set; } }
//在我们关系数据库中,比如oracle或者sqlserver中按照实体类设计,表结构应该是两个,学生信息表以及地址表,但是我们假设存储在一个表中方便我们类比;我要更新数据库中信息,通常关系数据库中我们是这么做的: update tableName set a='a' and b='b' where c='c' //在mongodb中我们就是向下面这样做: use dbName; db.CollectionName.update({query:"query"},{"$set":{update:"update"}})
首先构造IMongoQuery: //a.通过QueryBuilder<T>构造 var t1 = queryBuilder.EQ<String>(t => t.Address.City, "北京");//where city="北京" //b.通过Query构造 var t2 = Query.EQ("Address.City", "北京");//where city="北京" var t3 = Query<Student>.EQ<String>(t => t.Address.City, "北京");//where city="北京" //其次,构造IMongoUpdate var u1 = Update<Student>.Set<String>(t => t.Address.City, "上海");//set city="上海" var u2 = Update.Set("Address.City", "上海");//set city="上海" 这样可以往下调用update方法了 collection.Update(t1, u2);//只更新满足t1的一个文档对象 collection.Update(t1, u2, UpdateFlags.Multi);//更新满足t1的所有文档对象
相关文章推荐
- mongodb
- spring整合springMVC、mybatis、hibernate、mongodb框架
- MongoDB Java 学习笔记
- mongodb 备份和还原
- MongoDB的c++封装api
- spring-date-mongodb-1.0.0.M2 添加用户密码验证
- MongoDB创建索引(不锁库方法)
- Windows7下安装MongoDB
- 部署MongoDB Replica Set同时给数据库设置用户名密码
- 以windows Service的方式启动MongoDB
- python+mongodb==pymongo的源码安装
- Mongodb - TTL(time to live)特性
- MongoDB驱动之Linq操作
- 配置MongoDB的Windows服务
- MongoDB空间分配
- MongoDB操作:insert()
- MongoDB空间分配
- MongoDB操作:insert()
- MongoDB操作:flush()
- MongoDB操作:update()