0 0

mongodb DBRef 查询5

比如2个表:

user:{_id, userName, myWeapon}  myWeapon是个DBRef关联表weapon

weapon:{_id, name}

比如我要查找,拥有武器名“圣剑”的用户,我现在是这么做的

先一个查询获得"圣剑"的id:0001
然后查询语句:
db.user.find({ "myWeapon" : { "$ref" : "weapon", "$id" : '0001' } })

但这样等于要查2次语句,万一关联更多的表,岂不要查死?我找了一些资料也没找到如何用一个语句做到“获得拥有圣剑的用户”?

本人mongodb新手,望会的人解答
2014年2月10日 14:15
目前还没有答案

相关推荐

    Spring-data + MongoDb源码

    10. **定制化**: 对于无法通过默认方法实现的复杂查询,我们可以扩展`MongoRepository`,使用`@Query`注解配合MongoDB的查询语言(即JSON-based query language, MQL)来执行自定义的MongoDB查询。 在实际开发中,...

    spring-data-mongodb api

    `@MongoDBRef`注解用于处理引用其他文档的关系,而`@DBRef`则用于处理MongoDB的DBRef。`@Field`用于指定文档中的字段映射。 7. **聚合框架**: Spring Data MongoDB提供了聚合操作的支持,允许开发者构建复杂的...

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

    1037.5 数据库引用 1047.5.1 什么是DBRef 1047.5.2 示例模式 1047.5.3 驱动对DBRef的支持 1057.5.4 什么时候该使用DBRef呢 106第8章 管理 1078.1 启动和停止MongoDB 1078.1.1 从命令行启动 1078.1.2...

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

    1027.4.3 安全性 1037.5 数据库引用 1047.5.1 什么是DBRef 1047.5.2 示例模式 1047.5.3 驱动对DBRef 的支持 1057.5.4 什么时候该使用DBRef 呢 106第8 章 管理 1078.1 启动和停止MongoDB 1078.1.1 ...

    MongoDB数据库引用.pdf

    综上所述,DBRef 是 MongoDB 中用于处理多集合关联的重要工具,它提供了一种灵活的方式来管理和查询跨集合的关系。然而,在实际使用中,需要权衡其优缺点,根据应用程序的需求来决定是否采用。对于大规模、高性能的...

    MongoDB关系与数据库引用.pdf

    DBRef是一种在MongoDB中实现引用关系的标准方式,它是由三个部分组成的:数据库名、集合名和引用的_id。然而,选项5的表述是错误的,DBRef并不是定义在两个文档之间,而是定义在两个collection之间。DBRef提供了对...

    spring +mongodb

    例如,使用`@Document`注解标记一个MongoDB实体类,`@Id`注解标识主键,`@DBRef`用于处理引用关系。 **2. 配置MongoDB** 在Spring应用中配置MongoDB通常涉及以下几个步骤: - 添加MongoDB和Spring Data MongoDB的...

    mongodb-populate-refs:使用本地MongoDB驱动程序填充给定数据的DBRef的微型实用程序函数

    mongodb-populate-refs 微小的实用程序功能,使用本机填充给定数据的DBRef。 用法 如果所有DBRef都指向同一数据库中的文档: import { fromDb } from 'mongodb-populate-refs' // OR: import { populateFromDb } ...

    基于mongodb官方Java驱动的orm框架,允许子类嵌套.zip

    4. **查询构建器(Query Builder)**: 允许开发者以声明式或程序化的方式构建查询,避免了直接编写SQL或MongoDB查询语句。这提高了代码的可读性和可维护性。 5. **映射配置(Mapping Configuration)**: 可能包含一...

    mongo中模糊查询使用和QueryOperators参考.pdf

    本篇主要介绍MongoDB中的模糊查询和QueryOperators,以及如何处理和查询数组或集合类型的数据。 首先,让我们了解MongoDB中的模糊查询。模糊查询允许我们寻找与特定模式匹配的字符串。在MongoDB中,我们可以使用...

    mongo中模糊查询使用和QueryOperators宣贯.pdf

    在MongoDB中,模糊查询和QueryOperators是两个关键概念,用于实现更复杂的查询操作。MongoDB是一个基于分布式文件存储的NoSQL数据库系统,它提供了丰富的查询语言,支持多种数据模型,包括文档、图形和键值对。本文...

    mongo中模糊查询使用和QueryOperators[整理].pdf

    在MongoDB中,模糊查询和QueryOperators是进行复杂数据检索的关键工具。MongoDB是一种NoSQL数据库,它支持丰富的查询语法,允许开发者对数据进行高效、灵活的搜索。本文将详细讲解MongoDB中如何进行模糊查询以及使用...

    spring-data-mongodb:所有Spring Mongodb项目

    6. **Mapping注解**: 除了`@Document`,还有其他注解如`@Field`,用于控制字段如何映射到MongoDB文档,`@DBRef`用于处理引用其他文档的关系。 7. **索引**: 可以通过`@Indexed`注解在字段上创建索引,以提高查询...

    MongoDB支持的java数据类型和测试例子

    4. **数据库引用(Database References)**:MongoDB通过`DBRef`类来实现对其他文档的引用。`DBRef`对象包含数据库名、集合名和被引用文档的ObjectId。 ```java DBRef ref = new DBRef(db, "other_collection", new...

    relmongo:MongoDB的启用了Java关系的域模型持久性框架

    RelMongo使用Spring数据mongodb和手动参考,这些参考使查找聚合正常工作并克服了DBRef的限制。 文献资料 有关文档,Wiki和示例,请访问项目。 执照 :copyright:版权所有2021 Kais OMRI。 根据Apache许可版本2.0...

    bookstore-mongodb-sample:适用于mongodb的Spring Boot 2应用程序。 CascadeSave和DBRef注释被广泛使用

    bookstore-mongodb-sample ...该项目使用@CascadeSave批注与@DBRef批注一起保存值,以使用单个给定的存储库保存实体。 使用gradlew bootRun执行应用程序 使用mongochef或mongo命令行查看保存的实体

    SpringMongoDBSample:使用SpringData访问MongoDB的简单例子

    2. **Repository接口**:这些接口定义了对MongoDB的操作,比如查询方法。Spring Data会自动为这些接口生成实现,从而简化了数据访问代码。 3. **配置类**:配置类用于设置MongoDB的连接信息,包括主机地址、端口、...

    springboot-mongodb:springboot-mongodb

    2. 映射转换:`@DBRef`注解用于处理关联对象,实现数据的关联查询。 3. 分页与排序:`Pageable`接口提供了分页和排序功能,例如: ```java Pageable pageable = PageRequest.of(page, size, Sort.by(Sort.Direction....

    Spring Data MongoDB中实现自定义级联的方法详解

    因此,当我们尝试保存一个包含`@DBRef`字段的实体时,MongoDB只会保存ID,而不会保存完整的引用实体。 为了解决这个问题,Spring Data MongoDB提供了一系列的生命周期事件,如`onBeforeConvert`, `onBeforeSave`, `...

Global site tag (gtag.js) - Google Analytics