对下面的文档做一个比较大的调整,将 friends、enemies两个字段移到 relationships子文档中。

> db.people.insert({ "name" : "joe", "friends" : 32, "enemies" : 2 });

> db.people.find();
{ "_id" : ObjectId("59afac49bc908a15fc4165b7"), "name" : "joe", "friends" : 32, "enemies" : 2 }

> db.users.insert({"name" : "joe","friends" : 32,"enemies" : 2})

> var joe=db.users.findOne({"name":"joe"});
> joe
{
    "_id" : ObjectId("59afad53825ebd8624a7ddd9"),
    "name" : "joe",
    "friends" : 32,
    "enemies" : 2
}

> joe.relationships = {"firends":joe.friends,"enemies":joe.enemies};
{ "firends" : 32, "enemies" : 2 }

> joe.username = joe.name;

> delete joe.friends;
 
> delete joe.enemies;
 
> delete joe.name;
 
> db.users.update({"name":"joe"},joe);

> db.users.findOne();
{
    "_id" : ObjectId("59afad53825ebd8624a7ddd9"),
    "relationships" : {
        "firends" : 32,
        "enemies" : 2
    },
    "username" : "joe"
}

mongodb文档替换的更多相关文章

  1. MongoDB文档的基本操作

    1. MongoDB的安装方法 (1)下载MongoDB 相应的版本: (2)设置数据文件和日志文件的存放目录: (3)启动MongoDB服务: (4)将MongoDB作为服务启动. 2. Mongo ...

  2. MongoDB文档的增删改操作

    上一篇文章中介绍了MongoDB的一些基本知识,同时看到了怎么启动一个MongoDB服务,并且通过MongoDB自带的shell工具连接到了服务器. 这一次,就通过MongoDB shell介绍一下对 ...

  3. mongoDB文档操作【增删改】

    MongoDB 插入文档 文档的数据结构和JSON基本一样. 所有存储在集合中的数据都是BSON格式. BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON. 插入文档 Mo ...

  4. mongodb文档的CRUD

    本章会介绍对数据库移入或者移出数据的基本操作 向集合添加文档 从集合删除文档 更新现有的文档 为这些操作选择合适的安全级别 添加删除数据库 添加数据库 :use foo  如果存在foo 就use   ...

  5. mongoDB 文档概念

    mongoDB 文档概念 什么是文档 文档是 mongodb 基本的数据组织单元,类似于mysql 中的记录 文档由多个键值对组成,每个键值对表达一个数据项 属于 bson 数据 ps:  bson ...

  6. mongoDB 文档操作_删

    mongoDB 文档删除 MySQL对比 mysql delete from table where ... mongo db.collection.deleteOne(query) 删除函数 del ...

  7. mongodb文档支持的数据类型

    版权声明:转载请标明来源. https://blog.csdn.net/u014285882/article/details/25510377 1. 存储类型 mongodb文档相似于json,但不是 ...

  8. Python之word文档替换字符串(也可以用于短模板套用)

    Python之word文档替换字符串(也可以用于短模板套用),代码如下: 1 ''' 2 #word模板套用1:创建模板,适合比较短的文档 3 ''' 4 5 #导入所需库 6 from docx i ...

  9. MongoDB (八) MongoDB 文档操作

    一. MongoDB 插入文档 insert() 方法 要插入数据到 MongoDB 集合,需要使用 MongoDB 的  insert() 或 save() 方法. 语法 insert() 命令的基 ...

随机推荐

  1. PIE SDK过滤控制

    1.  功能简介 栅格数据前置过滤是在渲染之前对内存中的数据根据特定的规则进行处理,然后再进行数据渲染.本示例以定标为例进行示例代码编写. 定标(校准)是将遥感器所得的测量值变换为绝对亮度或变换为与地 ...

  2. 6.centos7 gitblit

    1,安装注意事项 1)必须将gitblit安装在/opt/gitblit这个目录下,因为 服务启动的脚本里面默认就是这个路径 如果不按照这个路径安装需要修改脚本 mkdir -p /opt/gitbl ...

  3. 九度oj题目1518:反转链表

    题目1518:反转链表 时间限制:1 秒 内存限制:128 兆 特殊判题:否 提交:2567 解决:948 题目描述: 输入一个链表,反转链表后,输出链表的所有元素.(hint : 请务必使用链表) ...

  4. 对key中有数字的字典进行排序

    word_cloud = []cc = [{"c58":341,"c59":525,"c56":507,"c57":34 ...

  5. smarty中函数的使用以及二维数组的使用

    1.虽然讲究前后台分离,但是如果如果有的项目,前后台分离的不彻底,或者有些必须要在HTML中处理,还是要用到PHP中的函数的: <% if $Role|in_array:$menuRole[$c ...

  6. CheckBox 样式

    .cb td {             width: 100px;         } .cb label {             display: inline-block;          ...

  7. oracle学习篇十一:视图

    视图是存储的查询定义. 1. 创建视图的语法如下: Create [OR REPLACE] [FORCE | NOFORCE] VIEW view_name[(alias,alias,...)] AS ...

  8. ECMAScript 6简介

    一.起步 1.扎实的HTML/CSS/Javascript基本功,这是前置条件. 2.不要用任何的构建项目工具,只用最简单的<script>,把教程里的例子模仿一遍,理解用法.不推荐上来就 ...

  9. shell 重启 tomcat 脚本

    #!/bin/sh # author hapday -- export TOMCAT_HOME=/usr/local/tomcat-pms tomcat_pid=$(ps -ef | grep ${T ...

  10. 【转载】Navicat Premium 12安装与激活

    原文地址 https://www.jianshu.com/p/5f693b4c9468#comment-20147185感谢作者的无私奉献,无意侵权,如需删除请联系我!所提供的激活文件理论支持Navi ...