`

【转】mongodb中删除数组内嵌对象文档

 
阅读更多

这个问题在做数据结构的时候经常用到,刚开始没怎么留意,因为我的数组都只是单元素文档:只有一个ObjectId,这样用pull操作完全没有问题,但后来用对象作为了数据的内容,就是数组内嵌的对象,这时候用pull就是各种不生效。发现Mongodb对数组内对象的get和pull使用的书写格式不一致。下面我列出可以使用的书写方式:

先列出mongodb的数据结构

{
  "_id" : ObjectId,
  "Uid" : ObjectId,
  "Visit" : Visit[16]
}


其中Visit为对象:

///访客id
ObjectId  VId;
///访问时间
DateTime Time;

则删除数组内某个Vid的写法为(我的客户端是:samus):

MongoDbHelper.Update<FriendTopicVisit>("FriendTopicVisit", new Document("$pull", new Document("Visit",new Document("Vid",visit.Vid))), new Document("_id", id));

 

方法不复杂,但不知道方法再去找方法也确实挺费时间的。

 

转自 http://www.cnblogs.com/spnt/archive/2013/02/25/2932120.html

分享到:
评论

相关推荐

    MongoDB如何对数组中的元素进行查询详解

    MongoDB的数组是一系列元素的集合,使用中括号 [] 表示数组,例如:[1,2,3]的元素是整数值,[{name:”t5″}, {name:”t7″}],[ {name:”t5″, age:21}, {name:”t7″, age:22} ]的元素是doc。 在MongoDB中,数组...

    MongoDB基本操作指南

    图1 MongoDB是一个Schema-free的文档数据库图2是一个例子,作品和评论可以设计为一个collection,评论作为子文档内嵌在art的comments属性中,评论的回复则作为comment子文档的子文档内嵌于replies属性。按照这种设计...

    mongodb 数据类型(null/字符串/数字/日期/内嵌文档/数组等)

    MongoDB的文档类似于JSON,JSON只是一种简单的表示数据的方式,只包含了6种数据类型(null、布尔、数字、字符串、数组及对象). JSON的数据类型的局限性: 1.无日期类型,对日期型的处理较为繁琐 2.无法区分浮点数和...

    mongodb-win32-x86_64-2008plus-ssl-v3.4-latest-signed.msi

    查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。 MongoDb 使用update()命令可以实现替换完成的文档(数据)或者一些指定的数据字段 。 Mongodb中的Map/reduce主要是用来对数据进行批量处理和聚合...

    MongoDB数据库设计.pptx

    Modeling One-to-Few 针对个人需要保存多个地址进行建模的场景下使用内嵌文档是很合适,可以在person文档中嵌入addresses数组文档 MongoDB数据库设计全文共21页,当前为第7页。 One-to-Many 以产品零件订货系统为例...

    深入云计算 MongoDB管理与开发实战详解pdf.part1

    5.3.2 限制capped collection中对象个数 5.4 注意事项 5.5 本章小结 第6章 GridFS存储文件 6.1 为什么要用GridFS 6.2 如何实现海量存储 6.3 语言支持 6.4 简单介绍 6.5 命令行工具 6.6 内部原理 ...

    MongoDB权威指南(中文版)高清

    152.6.1 基本数据类型 152.6.2 数字 172.6.3 日期 182.6.4 数组 192.6.5 内嵌文档 192.6.6 _id和ObjectId 20第3章 创建、更新及删除文档 233.1 插入并保存文档 233.1.1 批量插入 233.1.2 插入:...

    mongodb中使用distinct去重的简单方法

    该命令适用于普通字段,数组字段和数组内嵌文档. mongodb的distinct的语句: 代码如下: db.users.distinct(‘last_name’) 等同于 SQL 语句: 代码如下: select DISTINCT last_name from users 表示的是根据...

    电子书:MongoDB权威指南(中文版)

    182.6.4 数组 192.6.5 内嵌文档 192.6.6 _id 和ObjectId 20第3 章 创建、更新及删除文档 233.1 插入并保存文档 233.1.1 批量插入 233.1.2 插入:原理和作用 243.2 删除文档 243.3 更新文档 253.3....

    MongoDB数据库设计法则

    “我有丰富的sql使用经验,但是我是个MongoDB的初学者。...很多初学者认为在MongoDB中针对一对多建模唯一的方案就是在父文档中内嵌一个数组子文档,但是这是不准确的。因为你可以在MongoDB内嵌一个

    高可用的MongoDB集群详解

    形式的标记,可轻易查询文档中内嵌的对象及数组。3.完整的索引支持:包括文档内嵌对象及数组。Mongo的查询优化器会分析查询表达式,并生成一个高效的查询计划。4.查询监视:Mongo包含一个监控工具用于分析数据库操作性能...

    深入云计算 MongoDB管理与开发实战详解pdf.part2

    5.3.2 限制capped collection中对象个数 5.4 注意事项 5.5 本章小结 第6章 GridFS存储文件 6.1 为什么要用GridFS 6.2 如何实现海量存储 6.3 语言支持 6.4 简单介绍 6.5 命令行工具 6.6 内部原理 ...

    MongoDB简介 MongoDB五大特色

    MongoDB是一种强大,灵活,可扩展的数据存储方式.它扩展了关系型数据库的...面向文档的方式可以将文档或者数组内嵌进来,所以可以用一条记录表示非常复杂的层次关系. MongoDB没有模式:文档的键不会事先定义也不会固定不变

    mongdb 开发规范精讲 精华部分

    前言 MongoDB是非关系型数据库的典型代表,DB-Engines ...支持丰富的查询表达式,可轻易查询文档中内嵌的对象和数组及子文档。 3. 非事务并且关联性集合不强的都可以使用 4. 无多文档事务性需求及复杂关联检索 5. 业务

    C#简单操作MongoDB的步骤全纪录

    前言 MongoDB是一款由C++编写的高性能、开源、无模式的常用非关系型数据库产品,...查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。 3)完整的索引支持,包括文档内嵌对象及数组。MongoDB的查询优

    PHP对MongoDB[NoSQL]数据库的操作

    面向文档存储(类JSON数据模式简单而强大)•动态查询•全索引支持,扩展到内部对象和内嵌数组•查询记录分析•快速,就地更新•高效存储二进制大对象 (比如照片和视频)•复制和故障切换支持•Auto-Sharding自动分片支持...

    PHP与MongoDB简介|安全|M+PHP应用实例详解

    官方站点:http://www.mongodb.org/,MongoDB特点:•面向文档存储(类JSON数据模式简单而强大)•动态查询•全索引支持,扩展到内部对象和内嵌数组•查询记录分析•快速,就地更新•高效存储二进制大对象 (比如照片和...

Global site tag (gtag.js) - Google Analytics