dbref java_查询mongodb dbref内部字段
我需要隐藏其isActive标志设置为false的所有用户相关数据 . 有许多集合我使用了DBRef类型的用户集合(大约14个集合),每个集合包含超过1000万条记录 .
让我借助例子更恰当地解释一下 .
假设我有两个集合:
用户
联系
用户集包含以下字段:
名字(字符串)
姓氏(String)
isActive(布尔)
联系人集合包含以下字段:
Contacter(User)声明为DBref类型 .
Contactee(User)声明为DBRef类型 .
ContactStatus(String)
现在我要触发一个查询,该查询将获取其所有联系人 ContactStatus = "Confirmed" && Contacter.isActive = true && Contactee.isActive = true
就mongodb而言,查询将是这样的:
db.Contacts.find({"ContactStatus" : "Confirmed", "Contacter.isActive" : true, "Contactee.isActive" : true});
但是当我在mongo shell中运行此查询时,它总是返回零记录 .
所以这里的问题是1)是否可以在DBRef的内部字段上触发查询? 2)如果没有,那我该怎么做呢 .
注意 - 在此阶段,我无法修改数据模型 . 在“in”查询的帮助下,我可以做到这一点 . 但它最终会在我需要隐藏该用户的地方增加一次往返 .
目前我使用的是mongodb-2.4.5和Spring-Data-MongoDB-1.2.3 jar
到目前为止我的代码是这样的 -
Criteria criteria = new Criteria();
criteria = criteria.where(Contact.CONTACT_REQUEST_STATUS).is(ContactRequestStatusEnum.ACCEPTED);
criteria = criteria.and(Contact.CONTACTER + "." + User.ACTIVE).is(Boolean.TRUE);
criteria = criteria.and(Contact.CONTACTEE + "." + User.ACTIVE).is(Boolean.TRUE);
Query q = new Query(criteria);
List contacts = Contacts.find(q, Contact.class);
dbref java_查询mongodb dbref内部字段相关推荐
- mongodb存list_查询 MongoDB 子文档的 List 字段
[摘要] MongoDB 对于 List 结构中由若干字段组合而成的字符串数据有统计需求时,使用其 shell 脚本来实现有些复杂,而集算器 SPL 语言,则因拥有丰富的接口函数,实现就容易多了.若想 ...
- 阿里云DLA新功能来袭 查询MongoDB嵌套字段更方便
背景 DLA之前对于MongoDB只支持简单类型的映射查询,对于嵌套字段无法直接查询,最近我们加入了对嵌套字段直接查询的支持,这篇文章给大家介绍一下. MongoDB嵌套字段查询详解 首先我们在Mon ...
- mongo go 查询指定字段_使用PyMongo查询MongoDB数据库!
总览 我们将讨论如何使用PyMongo库查询MongoDB数据库. 我们将介绍MongoDB中的基本聚合操作. 介绍 随着互联网的全球普及,我们现在正在以前所未有的速度生成数据.因为执行任何类型的分析 ...
- NodeJS 中的mongoDB设置指定字段的隐藏,查询的时候强制显示指定隐藏的字段
NodeJS 中的mongoDB设置指定字段的隐藏,查询的时候强制显示指定隐藏的字段 这里使用的是基于RESTful API的规范创建的请求地址 在Schema创建用户的时候可以使用select:fa ...
- mongodb @aggregation 返回字段映射不上_MongoDB---基于分布式文件存储的数据库(二)...
MongoDB基础入门到高级进阶视频教程 [MongoDB] 六.Document 操作 在MongoDB中文档是指多个键及其关联的值有序地放置在一起就是文档,其实指的就是数据,也是我们平时操作最多的 ...
- php mongodb 子查询,MongoDB数组子查询elemMatch
MongoDB数组子查询elemMatch 在 MongoDB数组子查询elemMatch详解 语法 db_name.collection_name.find({field:{$elemMatch:{ ...
- 方法:查询MongoDB数据库中最新一条数据(JAVA)
使用JAVA语言查询MongoDB中某个数据库某个集合的最新一条数据: MongoCollection<Document> cpu = MongoClient.getDatabase(&q ...
- oracle查询blob模糊搜索,BLOB字段模糊查询
1. BLOB字段模糊查询报错 blob字段直接用select * from table_name where column like'%%'查找的时候是不能实现的,主要是字段类型不符.不 ...
- pymongo查询列表元素_使用PyMongo查询MongoDB数据库!
作者|LAKSHAY ARORA 编译|Flin 来源|analyticsvidhya 介绍 随着互联网的普及,我们现在正以前所未有的速度生成数据.因为执行任何类型的分析都需要我们从数据库中收集/查询 ...
最新文章
- DEF CON 专题 | 溜门撬锁,暗黑市集,带你看世界最大的黑客狂欢
- 工业用微型计算机(7)-指令系统(4)
- ZooKeeper ZAB协议:崩溃恢复、消息广播
- eclipse pmd使用_使用您自己的规则在Eclipse中自定义PMD
- C语言项目:推箱子大战
- 向mysql中插入时间_Java向mysql中插入时间的方法
- BlackBerry 应用程序开发者指南 第一卷:基础--第9章 IT策略(Policy)
- 什么是计算机科学中的“本体论”
- C++ 如何改变鼠标光标位置
- c语言 signal作用,C语言中的signal函数
- 服务器复制文件出现io错误,win7系统复制文件时发生IO错误的解决方法
- 正则表达式(韩顺平讲解)
- 手把手教你批量剪辑视频
- ELTEK电源维修SMPS5000SIL易达整流模块维修概述
- Java 基础 利用数组来实现银行注册开户、存钱、取钱
- 当mybatis逆向工程遇上了数据库字段增加
- 迪桑特宣布彭于晏成为品牌代言人;福成股份“中央厨房”创造预制菜新理念 | 知消...
- 家用计算机需要安装哪些软件,新电脑需要安装哪些软件
- java如何输入2的31次方_续一: 如何优化Java程序:十进制转十六进制(2的31次方以内的正整数)...
- Data Vault2.0方法论之审查和改进-全面质量管理
热门文章
- python format 冒号_python之格式化输出
- 服务器上有涉密文件,涉密文件保密管理规定
- linux软件包管理 pdf,vSphere Storage Appliance 安装和管理 PDF
- 如何扩大缓存区_艾莱依首个自动化仓落地,库宝解决线边缓存难题
- 详解预训练模型、信息抽取、文本生成、知识图谱、对话系统技术
- 数据挖掘学习指南!!
- 如何与深度学习服务器优雅的交互?(长期更新)
- 深入理解 Objective-C:方法缓存
- 研讨会 | CCF TF 第 17 期:认知计算产业化落地
- 郑杰 | 如何拿回我们自己的医疗数据?