mongodb 内嵌数组大小

问题描述

mongodb 内嵌数组大小

需要一个很简单的功能,就是获取数组大小。例如有这样数据:
{
"name":"test",
"arr":[{"num":0},{"num":1},{"num":2}]
}
然后我再次插入数据时候,需要获取一下arr这个数组的长度。实现类似这样的功能:
update({},{
$addToSet:{"arr":
{"num":(这里需要的是当前arr数组的长度,即3)}
}
})
想进办法目前暂时没有实现。不知道是否有办法查询出数组长度。
而不是$size那种按数组长度查询。这个没有用啊。

解决方案

MongoDB下根据数组大小查询
学习MongoDB--(4-2):MongoDB查询(数组、内嵌学习MongoDB 五: MongoDB查询(数组、内嵌文档)(二)
----------------------

解决方案二:

没人回答,不过目前自己想到了一个办法,就是在外层维护一个字段:“arrCount”,初始插入数据时赋值0,之后每当需要内层addToSet时,就给外层的arrCount进行一下$inc

时间: 2024-10-01 01:21:32

mongodb 内嵌数组大小的相关文章

mongodb java-怎样在java中调用Mongodb内嵌文档中的值?

问题描述 怎样在java中调用Mongodb内嵌文档中的值? 大概的数据结构如下所示,可以使用mongodb的命令 db.first.find( {"EventParameter.TotalSeconds":3} )查询TotalSeconds为某一个数值,比如3数据,但是在java中怎么获取到所有的数值呢?如下面一行代码中get函数中的参数应该怎么写才能获取所有的时间? float seconds=Float.parseFloat(record.get("TotalSeco

MongoDB下根据数组大小进行查询的方法_MongoDB

注意:作者使用的mongodb版本为2.4.7. 首先插入测试数据 复制代码 代码如下: db.data.insert({name:'a', num:[12,123,22,34,1]});db.data.insert({name:'b', num:[42,22]});db.data.insert({name:'c', num:[49]}); 键num对应的值是数组. 查询num的数组值具有指定大小的document 最好的方法是使用$size,例如指定大小为2,可以: 复制代码 代码如下: db

关于Iframe中内嵌图像大小控制问题

问题描述 在我的aspx网页中有一个iframe,在该iframe中要显示一个图片,该图直接用src来显示,具体如下面的红色部分:this.dw_content.InnerHtml="<tablealign='right'border='0'><tbody><tr><td><!--文章页大屏幕--><IFRAMEwidth='300'height='260'frameBorder=nomarginWidth=0marginHeig

在 C# 中处理结构内的数组

数组 在 C/C++ 代码中,大量掺杂着包括普通类型和数组的结构,如定义 PE 文件头结构的 IMAGE_OPTIONAL_HEADER 结构定义如下: 以下内容为程序代码: typedef struct _IMAGE_DATA_DIRECTORY { DWORD VirtualAddress; DWORD Size;} IMAGE_DATA_DIRECTORY, *PIMAGE_DATA_DIRECTORY; #define IMAGE_NUMBEROF_DIRECTORY_ENTRIES 1

mongodb-Mongodb添加内嵌文档

问题描述 Mongodb添加内嵌文档 db.blog.findOne() { _id: 1, title: "No Free Lunch", author: "Alex", comments: null } 把两条子记录{"Lynn",13150801},{"Sandy",13150802}添加到comments中怎么做?几本书都是一笔带过,好郁闷.求请教... 解决方案 楼主可以考虑用$push 解决方案二: MongoDB

spring-mongodb两层内嵌式数组怎么修改制定最内层的一个属性的值

问题描述 mongodb两层内嵌式数组怎么修改制定最内层的一个属性的值 { "_id" : ObjectId("549127427d3201f5086a711d"), "_class" : "cn.togym.entity.SitePrice", "siteId" : NumberLong(1122), "date" : "2014.3.10", "site

求教关于内嵌多重数组和结构体的结构体与byte字节流转换的问题

问题描述 本人定义了一个结构体,内嵌了二维数组和结构体数组,现在想转换成byte字节流,请问如何实现.在网上搜到的都是内嵌了一维数组的解决办法,但针对多维数组的解决方法没有,不知如何解决.结构体形式如下:/内嵌/结构体定义structstruc1{publicintnNum;}//复杂结构体定义structEXAM{publicint[][]nParam;publicstruc1[]struc;}现在定义一个EXAM对象,完成初始化和数据输入,怎么转换成byte[]对象呢?? 解决方案 解决方案

oracle 中的集合(联合数组 内嵌表 可变数组)

1.定义一个集合,让它作为一个函数或过程的形式参数,这样就可以传递这个集合类型的参数.    看下面的例子:定义一个过程参数--内嵌表                                          create or replace package personnel   --定义一个包  as      type staff_list is table of emp.empno%type;  -- 定义了一个emp.empno 的内嵌表,表的类型为emp_empno.  

Gson获得json数据数组内嵌问题

问题描述 Gson获得json数据数组内嵌问题 {resultcode"": ""200""reason"": ""successed!""result"": {sk"": {temp"": ""24""wind_direction"": ""西风&