1、简单

@Test
public void add() throws Exception {
final Employee em = new Employee("遥远2",50000.0);
Key<Employee> key = datastore.save(em);
Console.log("主键id={},{}",key.getId(),em.getId()); }

存储:

{
"_id" : ObjectId("5bced166dd00712bd429363e"),
"className" : "com.ebc.entity.Employee",
"name" : "遥远2",
"wage" : 50000
}

2、添加子集合

@Test
public void add2() throws Exception {
Employee em = new Employee("zuoys",10000.0); final Employee e1 = new Employee("小弟1",2000.0);
datastore.save(e1);
final Employee e2 = new Employee("小弟2",3000.0);
datastore.save(e2);
//集合中的元素必须先保存
List<Employee> emList = CollUtil.newArrayList();
emList.add(e1);
emList.add(e2);
em.setDirectReports(emList); datastore.save(em);
Console.log("主键id={}",em.getId());
}

存储:

/* 1 */
{
"_id" : ObjectId("5bcef23890c1d9280c07128e"),
"className" : "com.ebc.entity.Employee",
"name" : "小弟1",
"wage" : 2000
} /* 2 */
{
"_id" : ObjectId("5bcef23890c1d9280c07128f"),
"className" : "com.ebc.entity.Employee",
"name" : "小弟2",
"wage" : 3000
} /* 3 */
{
"_id" : ObjectId("5bcef23890c1d9280c071290"),
"className" : "com.ebc.entity.Employee",
"name" : "zuoys",
"directReports" : [
{
"$ref" : "employees",
"$id" : ObjectId("5bcef23890c1d9280c07128e")
},
{
"$ref" : "employees",
"$id" : ObjectId("5bcef23890c1d9280c07128f")
}
],
"wage" : 10000
}

3、添加父

@Test
public void add3() throws Exception {
Employee em = datastore.get(Employee.class, new ObjectId("5bcef23890c1d9280c071290"));
final Employee e3 = new Employee("小弟3有父",22.0);
e3.setManager(em);
Key<Employee> key = datastore.save(e3);
Console.log("主键id={}",key.getId());
}

存储:

/* 4 */
{
"_id" : ObjectId("5bcef45d90c1d91d509941cd"),
"className" : "com.ebc.entity.Employee",
"name" : "小弟3有父",
"manager" : {
"$ref" : "employees",
"$id" : ObjectId("5bcef23890c1d9280c071290")
},
"wage" : 22
}

morphia(2)-添加的更多相关文章

  1. NoSQL 之 Morphia 操作 MongoDB

    上两篇文章:http://www.cnblogs.com/hoojo/archive/2011/06/01/2066426.html http://www.cnblogs.com/hoojo/arch ...

  2. MongoDB的ORM框架——Morphia

    1.引入pom <dependency> <groupId>org.mongodb.morphia</groupId> <artifactId>morp ...

  3. Mongodb 的ORM框架 Morphia之注解

    @Entity("bands") public class Band { @Id ObjectId id; String name; String genre; @Referenc ...

  4. mongodb使用实践---mongodb+mongo-java-driver+morphia

    package com.lolaage.dals.dbfactory.mongodb; import java.net.UnknownHostException; import java.util.A ...

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

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

  6. Spring boot配置MongoDB以及Morphia踩坑记录

    pom 因为项目中采用Morphia(MongoDB的ODM框架,对象-文档映射(object-document mapper)),因此需要在pom文件中引入相应依赖: <dependency& ...

  7. .Net Core MVC 网站开发(Ninesky) 2.4、添加栏目与异步方法

    在2.3中完成依赖注入后,这次主要实现栏目的添加功能.按照前面思路栏目有三种类型,常规栏目即可以添加子栏目也可以选择是否添加内容,内容又可以分文章或其他类型,所以还要添加一个模块功能.这次主要实现栏目 ...

  8. C#给PDF文档添加文本和图片页眉

    页眉常用于显示文档的附加信息,我们可以在页眉中插入文本或者图形,例如,页码.日期.公司徽标.文档标题.文件名或作者名等等.那么我们如何以编程的方式添加页眉呢?今天,这篇文章向大家分享如何使用了免费组件 ...

  9. html中如何添加提示信息

    提示:在标签中添加title属性 1.文本中如何添加提示信息? 1.1直接在标签中加title="值": 例如:<p title="爱笑,爱哭,爱生活"& ...

随机推荐

  1. poj3904 Sky Code —— 唯一分解定理 + 容斥原理 + 组合

    题目链接:http://poj.org/problem?id=3904 Sky Code Time Limit: 1000MS   Memory Limit: 65536K Total Submiss ...

  2. CSU - 1803 —— 数学题

    题目链接:http://acm.csu.edu.cn/csuoj/problemset/problem?pid=1803 Description  给出正整数 n 和 m,统计满足以下条件的正整数对 ...

  3. MYSQL进阶学习笔记十五:MySQL 的账号权限赋予!(视频序号:进阶_33,34)

    知识点十六:MySQL的账号权限赋予(33) 一.MySQL权限简介 关于mysql的权限简单的理解就是mysql允许你做你全力以内的事情,不可以越界.比如只允许你执行select操作,那么你就不能执 ...

  4. Java多线程Callable和Future类详解

         public interface Callable<V>    返回结果并且可能抛出异常的任务.实现者定义了一个不带任何参数的叫做 call 的方法      public in ...

  5. CentOS环境 升级Python2.6.6至2.7.5

      1.查看当前Python版本 # python -V Python 2.6.6 # python -V Python 2.6.6 2.下载Python2.7.5源码 # wget http://p ...

  6. weex 安装过程中遇到的坑

    安装 然后 注意: 在weex-toolkit1.0.8版本后添加了npm5规范的npm-shrinkwrap.json用于锁定包依赖,故npm版本<5的用户需要通过npm i npm@late ...

  7. java.lang.ClassCastException: java.util.HashMap cannot be cast to java.lang.String

    问题背景:从前端传来的json字符串中取某些值,拼接成json格式入参调外部接口. 报如下错: java.lang.ClassCastException: java.util.HashMap cann ...

  8. CF-807C

    C. Success Rate time limit per test 2 seconds memory limit per test 256 megabytes input standard inp ...

  9. 1.16 sqoop options-file参数进行运行任务

    sqoop的options-file参数可以像hive的-f 参数那样,执行一个脚本文件,而不是直接在命令行执行: 其中,此脚本文件要遵循一定的格式:参考链接:http://sqoop.apache. ...

  10. Multipath TCP and load balancers

    Load balancers play a very important role in today’s Internet. Most Internet services are provided b ...