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. UVA1378 A Funny Stone Game —— SG博弈

    题目链接:https://vjudge.net/problem/UVA-1378 题意: 两个人玩游戏,有n堆石子,两人轮流操作:于第i堆石子中取走一块石子,然后再往第j.k堆中各添加一块石子.其中 ...

  2. Codeforces Round #374 (Div. 2) C. Journey —— DP

    题目链接:http://codeforces.com/contest/721/problem/C C. Journey time limit per test 3 seconds memory lim ...

  3. 分布式session之token解决方案实现

    基于令牌(Token)方式实现Session解决方案,因为Session本身就是分布式共享连接 用token代替session 废话不多说,看项目: pom.xml <project xmlns ...

  4. maven项目所遇到的问题解决

    1.在Eclipse中创建Maven的Web项目时出现错误:An internal error occurred during: "Retrieving archetypes:". ...

  5. HTML: 简单的悬停效果

    1. [图片] 捕获.jpg ​2. [代码][CSS]代码     body {    background: #000;    overflow-y: scroll;  }  .items {  ...

  6. uva 401 Palindromes 解题报告

    题目链接:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  7. SPOJ Find the max XOR value(二进制,贪心即可)

    You have two integers L and R, and you are required to find the max xor value of a and b where L < ...

  8. nginx: error while loading shared libraries: libGeoIP.so.1

    wget http://geolite.maxmind.com/download/geoip/api/c/GeoIP.tar.gz wget http://geolite.maxmind.com/do ...

  9. 条件变量pthread_cond_wait()和pthread_cond_signal()详解

    条件变量        条件变量是利用线程间共享的全局变量进行同步的一种机制,主要包括两个动作:一个线程等待"条件变量的条件成立"而挂起:另一个线程使"条件成立" ...

  10. Gibonacci number-斐波那契数列

    Description In mathematical terms, the normal sequence F(n) of Fibonacci numbers is defined by the r ...