zoukankan      html  css  js  c++  java
  • MongoDB更新文档

    说明:来看一下关系型数据库的update语句

     UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某

    其中where子句就类似查询文本,定位要更改的子表,set子句类似于修改器,更新哪些内容。

    1.1文档替换

      就是用一个新的文档完全替换匹配的文档。用于进行大规模模式数据的迁移。

    例如:

    如果要将friends和enemies两个字段迁移到relationships子文档中。可以进行如下操作

    step1:

    var joe=db.users.findOne({"name":"joe"})

    joe.relationships={friend:joe.friends,enemies:joe.enemies}

     

    同样的原理获取:

    joe.username=joe.name;

     

    然后删除原来文档中的friends,enemies,name

      

    step2:更新文档

    db.users.update({name:"joe"},joe)

    解释一下:{name:"joe"}就是要更新的目标文档,joe就是修改器,说明要修改的内容

     

    最后的joe文档内容:

       

    1.2使用修改器

    通常文档只会有有一部分数据要更新,可以使用原子性的更新修改器(update modifier),指定对文档中的某些字段进行修改。

    假设:要在某个集合中存放网站的分析数据,只要有人访问页面,就增加计数器。可以使用更新器修改原子性地完成这个增加。

    每次有人访问,就通过url找到该页面,并用"$inc"修改器来增加"pageviews"的值

    >db.analytics.update({url:"www.example.com"},{"$inc":{pageviews:1}})

    然后再执行一次db.analytics.find()

    数据如下:

    数据就增加1。实现了网站统计访问量的需求。。

  • 相关阅读:
    Spring中使用ActiveMQ发送邮件
    Active MQ技术文章(JMS)
    java并发编程Executor框架
    java并发编程构建块
    Java:定时启动线程
    java的concurrent用法详解
    jms activeMQ与spring集成进阶篇(转载)
    python练习程序(读写文件)
    python练习程序(下载网页)
    简单工厂模式(C++)
  • 原文地址:https://www.cnblogs.com/lwy19998273333/p/5561173.html
Copyright © 2011-2022 走看看