//...此处省略了import...
/**
* Created by shenzhigang on 4/15/16.
*/
public class Main {
public static void main(String[] args) {
Datastore datastore;
final Morphia morphia = new Morphia();
morphia.mapPackage("com.bdb.datatypes.common.po");
datastore = morphia.createDatastore(new MongoClient("localhost", 27017), "test001");
datastore.ensureIndexes(); Student student = new Student();
student.setName("沈志刚");
student.setAge(30); School school = new School();
school.setName("苏州小学");
school.setAddress("苏州市");
datastore.save(school); student.setSchool(school);
datastore.save(student); List<Key<School>> schools =datastore.createQuery(School.class).field("name").equal("苏州小学").asKeyList();
List<Student> studentList = datastore.find(Student.class).field("school").in(schools).asList();
}
} @Entity
class Student {
@Id
private ObjectId objectId ;
private String name;
private int age;
@Reference
private School school;
  //...此处省略了get set....
} @Entity
class School {
@Id
private ObjectId objectId;
private String address;
private String name;
  //....此处省略了get set...
}
  

mongodb morphia关联查询一例的更多相关文章

  1. 【Mongodb】---关联表查询population

    Population MongoDB是非关联数据库.但是有时候我们还是想引用其它的文档.这就是population的用武之地. Population是从其它文档替换文档中的特定路径.我们可以迁移一个单 ...

  2. mongodb操作之使用javaScript实现多表关联查询

    一.数据控制 mongodb操作数据量控制,千万控制好,不要因为操作的数据量过多而导致失败. 演示一下发生此类错误的错误提示:

  3. MongoDB 集合间关联查询后通过$filter进行筛选

    在前面的分享中,有讲解 “详解MongoDB中的多表关联查询($lookup)” 一节,其内容涵盖了常见的集合管理的需求.我们知道文档的选择都是通过$match进行匹配刷选.但这是文档间的匹配筛选,并 ...

  4. morphia 框架 mongodb内嵌查询

    mongodb中存储的文档格式如下,实现查询fromdata下did和dvid为指定值的数据 { "_id": { "$oid": "553f4a9f ...

  5. MongoDB学习-->Gridfs分布式存储&DBRef关联查询

    mongodb自带的一个分布式文件系统 fs.files _id filename md5 size uploaddate contenttype metadata {"user_id&qu ...

  6. 使用morphia实现对mongodb的聚合查询

    morphia是谷歌的一个针对mongodb的数据化持久框架: 关于mongodb的介绍不在这里展示,直接进入主题:采用morphia实现对mongodb的聚合查询 这里获取所有学生的分数总和 spr ...

  7. 表单生成器(Form Builder)之mongodb表单数据查询——关联查询

    这一篇接着记录一下查询相关的操作.想象一下,如果想要在一张表格中展示某些车辆的耗损和营收情况,我们该怎么处理.车辆.耗损.营收各自存储在一张表中,耗损和营收中冗余了车辆信息……我们便想到了关联查询.m ...

  8. MongoDB学习day10--Mongoose的populate实现关联查询

    一.Mongoose populate官方文档 https://mongoosejs.com/docs/populate.html 二.Mongoose populate关联查询 1.定义ref va ...

  9. mongodb 高级聚合查询

    mongodb高级聚合查询   在工作中会经常遇到一些mongodb的聚合操作,特此总结下.mongo存储的可以是复杂类型,比如数组.对象等mysql不善于处理的文档型结构,并且聚合的操作也比mysq ...

随机推荐

  1. GBDT算法原理深入解析

    GBDT算法原理深入解析 标签: 机器学习 集成学习 GBM GBDT XGBoost 梯度提升(Gradient boosting)是一种用于回归.分类和排序任务的机器学习技术,属于Boosting ...

  2. .NET加密方法

    SHA1加密: string[] ArrTmp = { Token, timestamp, nonce }; Array.Sort(ArrTmp);//字典排序 string tmpStr = str ...

  3. Python解析命令行读取参数 -- argparse模块

    在多个文件或者不同语言协同的项目中,python脚本经常需要从命令行直接读取参数.万能的python就自带了argprase包使得这一工作变得简单而规范.PS:optparse包是类似的功能,只不过写 ...

  4. jquery mobile button样式设置

    <a href="#" class="ui-btn">提交</a> ui-btn表示按钮样式 ui-btn-a,ui-btn-b:the ...

  5. Django 开发投票系统

    主要参考官方文档 Windows  10 Python 23.5 Django 1.9 1.创建项目(mysite)与应用(polls) D:\python>django-admin.py st ...

  6. ubuntu12.04安装WineQQ2012

    1:下载WineQQ2012-20120531-Longene.deb 2:直接用软件中心安装或者执行命令,进入文件目录执行sudo dpkg -i WineQQ2012-20120531-Longe ...

  7. kettle输入“去除空格类型”设置不上

    kettle输入“去除空格类型”设置不上,设置完了还是现实“none”的办法: 在xml中直接将对应处“none”改为“both”,即“去掉两边空格”. 原文来自:http://blog.csdn.n ...

  8. firebug常用工具

    1.console.group("第一组"); console.log(1); console.groupend(); 2.console.dir(对象);//输出对象的所有信息 ...

  9. Javascript函数调用的四种模式

    一 前言 Javascript一共有四种调用模式:方法调用模式.函数调用模式.构造器调用模式以及apply调用模式.调用模式不同,对应的隐藏参数this值也会不同. 二 方法调用模式 函数作为对象的属 ...

  10. backtrack下vim的使用

    root@bt:~# vim test.c //vim新建或者编辑test.c,执行后进入vim编辑器,按a键进入编辑状态,输入C代码 #include<stdio.h> void mai ...