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. Peach+Fuzzer

    目录 1 Peach是什么....................................................................................... ...

  2. 基于aspect实现AOP——xml配置的其他操作

    将上方配置中的前置通知,可换成环绕通知

  3. linux 查看某进程 并杀死进程 ps grep kill

    Linux 中使用top 或 ps 查看进程使用kill杀死进程 1.使用top查看进程: $top 进行执行如上命令即可查看top!但是难点在如何以进程的cpu占用量进行排序呢? cpu占用量排序执 ...

  4. bzoj 2006 [NOI2010]超级钢琴——ST表+堆

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=2006 每个右端点的左端点在一个区间内:用堆记录端点位置.可选区间,按价值排序:拿出一个后也许 ...

  5. 2.row_number() over (partition by col1 order by col2)的用法

    row_number() over (partition by col1 order by col2) 表示根据COL1分组,在分组内部根据 COL2排序,而此函数计算的值就表示每组内部排序后的顺序编 ...

  6. C语言指针入门知识

    C语言指针往往是C语言学习过程中最困难的地方, 最近重新理解了一下C语言的指针知识, 在此整理一下, 如果有错误请留言指正. 对于刚入门的人来说, 指针涉及方方面面, 从简单的数组到结构体, 都会用到 ...

  7. Kmeans算法--python实现

    一:Kmeans算法基本思想: k-means算法是一种很常见的聚类算法,它的基本思想是:通过迭代寻找k个聚类的一种划分方案,使得用这k个聚类的均值来代表相应各类样本时所得的总体误差最小. k-mea ...

  8. python 中main函数总结

    Python使用缩进对齐组织代码的执行,所有没有缩进的代码(非函数定义和类定义),都会在载入时自动执行,这些代码,可以认为是Python的main函数. 每个文件(模块)都可以任意写一些没有缩进的代码 ...

  9. CF-805B

    B. 3-palindrome time limit per test 1 second memory limit per test 256 megabytes input standard inpu ...

  10. HDOJ-2047

    阿牛的EOF牛肉串 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total S ...