MongoDB Inserting 插入数据

MongoDB Inserting 插入数据

当我们要向MongoDB插入数据,数据格式就是document。

document的数据结构和JSON基本一样。

Python的dictionaries和ruby的hashes都是例子。 这个部分主要讲解MongoDB数据的插入。

Document-Orientation面向文档

面向文档的数据库存储document,但是这个document是一个结构document。
这个词汇可能来自XML document。
然而其他结构的数据格式如JASON,有相似的属性。

 

MongoDB的document是类似JSON的数据结构。 JSON 是一个存储对象风格数据绝佳方法。
它独立于语言以及基于标准的。
为了效率,MongoDB使用的是BSON。是一个二进制描述数据的协议。
BSON检索字段要明显快于JSON。同时BSON也添加了更多的数据类型如date类型和二进制类型。
BSON读起来和JSON一样并且也可以和其他多种语言的数据结构相对应。

 

客户端驱动序列化数据为BSON。之后再把数据传输到db中。

存储在硬盘上的数据格式就是BSON。获取的时候,也不要太复杂,效率很高。

客户端驱动反序列化BSON对象,转为自己语言的格式。

JSON

举例,下列 "document" 可以被存储在MongoDB中:

{ author: 'joe',  
created : new Date('03/28/2009'),  
title : 'Yet another blog post',  
text : 'Here is the text...',  
tags : [ 'example', 'joe' ],  
comments : [ { author: 'jim', comment: 'I disagree' },              
             { author: 'nancy', comment: 'Good post' }  
            ]
}

这个文档是一个blog post。因此我们可以把它保存到posts collection中。

> doc = { author : 'joe', created : new Date('03/28/2009'), ... }
> db.posts.insert(doc);

MongoDB了解BSON对象内部构造-不仅仅存储它们。可以通过内部字段和索引来进行查询。如

> db.posts.find( { "comments.author" : "jim" } )

意思就是 "查询评论作者为jim的posts"。

有好的MongoDB Schema

MongoDB可以用在很多的场景,并且使用起来和关系型数据库还是很相似的。

MongoDB设计的目标是存储复杂对象。

存储的例子

如果你要创建一个在线商店并且进行买卖。关系型设计如下

  item     title     price     sku  item_features     sku     
feature_name     feature_value


有可能要进行范式化,因为不同的items有不同的features,
并且你不想在一张表保存所有的features。在MongoDB中很容易做到,还更有效率。

  item : {           
"title" :  ,          
</pre> 
          <pre> <span style="color:#009100;background-color:inherit;">"price"</span> : <price> ,           
</pre> 
          <pre><span style="color:#009100;background-color:inherit;">"sku"</span>   : <sku>   ,           
</pre> 
          <pre><span style="color:#009100;background-color:inherit;">"features"</span> : {              
</pre> 
          <pre><span style="color:#009100;background-color:inherit;">"optical zoom"</span> : <value> ,              ...          
</pre> 
          <pre> }  }
</pre> 
         </div> 
        </div> 
        <p style="margin-left:0px;font-size:10pt;line-height:13pt;color:#4c3a2c;font-weight:normal;text-decoration:none;">这样做有几个优点</p> 
        <ul style="margin-left:0px;color:#4c3a2c;text-decoration:none;line-height:13pt;font-size:10pt;" type="square"> 
         <li style="margin-left:1em;font-size:10pt;line-height:13pt;">一条语句查询出整个记录。</li> 
         <li style="margin-left:1em;font-size:10pt;line-height:13pt;">保存一个item的所有数据都保存在相同的硬盘空间上。只需要一次查找就可以了。</li> 
        </ul> 
        <p style="margin-left:0px;font-size:10pt;line-height:13pt;color:#4c3a2c;font-weight:normal;text-decoration:none;">看起来还有一些的问题</p> 
        <ul style="margin-left:0px;color:#4c3a2c;text-decoration:none;line-height:13pt;font-size:10pt;" type="square"> 
         <li style="margin-left:1em;font-size:10pt;line-height:13pt;">你可能向插入或更新一个文档。MongoDB可以操作内嵌document 
          <div style="margin-left:20px;color:#000000;background-color:#ffffff;border:1px dashed #6699cc;"> 
           <div style="background-color:#ffffff;color:#000000;text-align:left;font-size:.95em;"> 
            <pre>db.items.update( { sku : 123 } , { <span style="color:#009100;background-color:inherit;">"$set"</span> : { <span style="color:#009100;background-color:inherit;">"features.zoom"</span> : <span style="color:#009100;background-color:inherit;">"5"</span> } } )
</pre> 
           </div> 
          </div> </li> 
         <li style="margin-left:1em;font-size:10pt;line-height:13pt;">添加一个feature需要在硬盘上移动整个对象么?答案是不。</li> 
         <li style="margin-left:1em;font-size:10pt;line-height:13pt;">MongoDB会预留空间给要增长的对象。 这样做还能避免索引更新。</li> 
        </ul> 
       </div> </td> 
     </tr> 
     <tr> 
      <td valign="top"><br></td> 
     </tr> 
    </tbody> 
   </table> 
  </div> 
 </div> 
</div>
                            </div>
                        </div>
                    </div>
                    <!--PC和WAP自适应版-->
                    <div id="SOHUCS" sid="1282240608127172608"></div>
                    <script type="text/javascript" src="/views/front/js/chanyan.js"></script>
                    <!-- 文章页-底部 动态广告位 -->
                    <div class="youdao-fixed-ad" id="detail_ad_bottom"></div>
                </div>
                <div class="col-md-3">
                    <div class="row" id="ad">
                        <!-- 文章页-右侧1 动态广告位 -->
                        <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_1"> </div>
                        </div>
                        <!-- 文章页-右侧2 动态广告位 -->
                        <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_2"></div>
                        </div>
                        <!-- 文章页-右侧3 动态广告位 -->
                        <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_3"></div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="container">
        <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(MongoDB)</h4>
        <div id="paradigm-article-related">
            <div class="recommend-post mb30">
                <ul class="widget-links">
                    <li><a href="/article/1835493374514262016.htm"
                           title="MongoDB Oplog 窗口" target="_blank">MongoDB Oplog 窗口</a>
                        <span class="text-muted">喝醉酒的小白</span>
<a class="tag" taget="_blank" href="/search/MongoDB/1.htm">MongoDB</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a>
                        <div>在MongoDB中,oplog(操作日志)是一个特殊的日志系统,用于记录对数据库的所有写操作。oplog允许副本集成员(通常是从节点)应用主节点上已经执行的操作,从而保持数据的一致性。它是MongoDB副本集实现数据复制的基础。MongoDBOplog窗口oplog窗口是指在MongoDB副本集中,从节点可以用来同步数据的时间范围。这个窗口通常由以下因素决定:Oplog大小:oplog的大小是有限</div>
                    </li>
                    <li><a href="/article/1835483159630802944.htm"
                           title="nosql数据库技术与应用知识点" target="_blank">nosql数据库技术与应用知识点</a>
                        <span class="text-muted">皆过客,揽星河</span>
<a class="tag" taget="_blank" href="/search/NoSQL/1.htm">NoSQL</a><a class="tag" taget="_blank" href="/search/nosql/1.htm">nosql</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/1.htm">数据分析</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a><a class="tag" taget="_blank" href="/search/%E9%9D%9E%E5%85%B3%E7%B3%BB%E5%9E%8B%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">非关系型数据库</a>
                        <div>Nosql知识回顾大数据处理流程数据采集(flume、爬虫、传感器)数据存储(本门课程NoSQL所处的阶段)Hdfs、MongoDB、HBase等数据清洗(入仓)Hive等数据处理、分析(Spark、Flink等)数据可视化数据挖掘、机器学习应用(Python、SparkMLlib等)大数据时代存储的挑战(三高)高并发(同一时间很多人访问)高扩展(要求随时根据需求扩展存储)高效率(要求读写速度快)</div>
                    </li>
                    <li><a href="/article/1835451016456269824.htm"
                           title="MongoDB知识概括" target="_blank">MongoDB知识概括</a>
                        <span class="text-muted">GeorgeLin98</span>
<a class="tag" taget="_blank" href="/search/%E6%8C%81%E4%B9%85%E5%B1%82/1.htm">持久层</a><a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a>
                        <div>MongoDB知识概括MongoDB相关概念单机部署基本常用命令索引-IndexSpirngDataMongoDB集成副本集分片集群安全认证MongoDB相关概念业务应用场景:传统的关系型数据库(如MySQL),在数据操作的“三高”需求以及应对Web2.0的网站需求面前,显得力不从心。解释:“三高”需求:①Highperformance-对数据库高并发读写的需求。②HugeStorage-对海量数</div>
                    </li>
                    <li><a href="/article/1835447985601867776.htm"
                           title="Mongodb Error: queryTxt ETIMEOUT xxxx.wwwdz.mongodb.net" target="_blank">Mongodb Error: queryTxt ETIMEOUT xxxx.wwwdz.mongodb.net</a>
                        <span class="text-muted">佛一脚</span>
<a class="tag" taget="_blank" href="/search/error/1.htm">error</a><a class="tag" taget="_blank" href="/search/react/1.htm">react</a><a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a>
                        <div>背景每天都能遇到奇怪的问题,做个记录,以便有缘人能得到帮助!换了一台电脑开发nextjs程序。需要连接mongodb数据,对数据进行增删改查。上一台电脑好好的程序,新电脑死活连不上mongodb数据库。同一套代码,没任何修改,搞得我怀疑人生了,打开浏览器进入mongodb官网毫无问题,也能进入线上系统查看数据,网络应该是没问题。于是我尝试了一下手机热点,这次代码能正常跑起来,连接数据库了!!!是不</div>
                    </li>
                    <li><a href="/article/1835089497243611136.htm"
                           title="springboot整合MongoDB时碰到的问题" target="_blank">springboot整合MongoDB时碰到的问题</a>
                        <span class="text-muted">生产队队长</span>
<a class="tag" taget="_blank" href="/search/Database/1.htm">Database</a><a class="tag" taget="_blank" href="/search/Spring/1.htm">Spring</a><a class="tag" taget="_blank" href="/search/All/1.htm">All</a><a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a>
                        <div>1.账号总是不对,导致查不出数据,报错Auth…权鉴错误这次,我也是第一次接触MongoDB,非常的生疏springboot整合MongoDB,要在properties文件中配置账号mongodb基本语法:useDATABASE_NAME;--创建数据库showdbs;--查看我们所有的库,注意,我们刚创建的库,如果没有数据,是不会被显示的showusers;--查看当前库所有拥有的账号db.cr</div>
                    </li>
                    <li><a href="/article/1834937190321319936.htm"
                           title="java mongodb group分组使用" target="_blank">java mongodb group分组使用</a>
                        <span class="text-muted">yank1225</span>
<a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a><a class="tag" taget="_blank" href="/search/group/1.htm">group</a>
                        <div>mongodb的关键字及介绍.mongodb的查询是有一定规则的,刚开始接触老是各种错误,参照以下内容有很多帮助https://docs.mongodb.com/manual/reference/sql-aggregation-comparison/另外出现这种错误时Apipelinestagespecificationobjectmustcontainexactlyonefield是因为条件不对</div>
                    </li>
                    <li><a href="/article/1834766002504691712.htm"
                           title="MongoDB Atlas与LangChain集成指南" target="_blank">MongoDB Atlas与LangChain集成指南</a>
                        <span class="text-muted">afTFODguAKBF</span>
<a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a><a class="tag" taget="_blank" href="/search/langchain/1.htm">langchain</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a>
                        <div>引言MongoDBAtlas是一款全托管的云数据库解决方案,可在AWS、Azure和GCP上使用。最新版本支持在MongoDB文档数据上进行原生向量搜索。本文将介绍如何使用LangChain将MongoDBAtlas与语言模型集成,以实现高效的向量搜索和语义缓存。安装和设置1.安装langchain-mongodb包pipinstalllangchain-mongodb向量存储LangChain提</div>
                    </li>
                    <li><a href="/article/1834732092211163136.htm"
                           title="数据库管理的利器Navicat —— 全面测评与热门产品推荐" target="_blank">数据库管理的利器Navicat —— 全面测评与热门产品推荐</a>
                        <span class="text-muted">界面开发小八哥</span>
<a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/Navicat/1.htm">Navicat</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93%E5%BC%80%E5%8F%91/1.htm">数据库开发</a><a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a>
                        <div>在数据库管理领域,Navicat无疑是一款深受欢迎的软件。作为一个强大的数据库管理和开发工具,它支持多种数据库类型,包括MySQL、MariaDB、MongoDB、SQLServer、Oracle、PostgreSQL等。本文将全面测评Navicat的核心功能,同时推荐几款热门的Navicat产品。Navicat的主要特点1.跨平台支持:Navicat支持Windows、Mac和Linux平台,可</div>
                    </li>
                    <li><a href="/article/1833724124049010688.htm"
                           title="MongoDB C++库编译,windows平台+VS2015(QT中也可以用)" target="_blank">MongoDB C++库编译,windows平台+VS2015(QT中也可以用)</a>
                        <span class="text-muted">hp_cpp</span>
<a class="tag" taget="_blank" href="/search/C%2B%2B/1.htm">C++</a>
                        <div>编译准备工作:(1)mongo-c-driver下载地址:https://github.com/mongodb/mongo-c-driver/releases下载最新版:mongo-c-driver1.12.0的Soucecode版(2)mongodb/mongo-cxx-driver下载地址:https://github.com/mongodb/mongo-cxx-driver/releases</div>
                    </li>
                    <li><a href="/article/1833701938991034368.htm"
                           title="使用docker部署MongoDB数据库" target="_blank">使用docker部署MongoDB数据库</a>
                        <span class="text-muted">数据小白的进阶之路</span>
<a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a>
                        <div>最近由于工作需要搭建MongoDB数据库:将解析的车端采集的数据写入到数据库,由于MongoDB高可用、海量扩展、灵活数据的模型,因此选用MongoDB数据库;由于现公司只有服务器,因此考虑容器化部署MongoDB数据,特此记录一下~一、镜像拉取使用如下命令拉取最新MongoDB镜像dockerpullmongo二、创建MongoDB容器2.1创建宿主机目录执行如下代码:mkdir-p/home/</div>
                    </li>
                    <li><a href="/article/1833701309316952064.htm"
                           title="MongoDB数据库" target="_blank">MongoDB数据库</a>
                        <span class="text-muted">weixin_34104341</span>
<a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/json/1.htm">json</a><a class="tag" taget="_blank" href="/search/shell/1.htm">shell</a>
                        <div>一简介MongoDB是一款强大、灵活、且易于扩展的通用型数据库1.易用性MongoDB是一个面向文档(document-oriented)的数据库,而不是关系型数据库。不采用关系型主要是为了获得更好得扩展性。当然还有一些其他好处,与关系数据库相比,面向文档的数据库不再有“行“(row)的概念取而代之的是更为灵活的“文档”(document)模型。通过在文档中嵌入文档和数组,面向文档的方法能够仅使用</div>
                    </li>
                    <li><a href="/article/1833700044927234048.htm"
                           title="【Docker】MongoDB 容器化部署" target="_blank">【Docker】MongoDB 容器化部署</a>
                        <span class="text-muted">轻云UC</span>
<a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4%E9%83%A8%E7%BD%B2/1.htm">运维部署</a><a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a>
                        <div>MongoDBdocker容器化部署MongoDB标准软件基于BitnamiMongoDB构建。当前版本未7.0.5你可以通过轻云UC部署工具直接安装部署,也可以手动按如下文档操作配置文件地址:https://gitee.com/qingplus/qingcloud-platformQinghubStudio在线体验初始化一个新实例使用Docker容器网络,应用程序容器可以轻松访问容器内运行的Mo</div>
                    </li>
                    <li><a href="/article/1833565268694102016.htm"
                           title="MongoDB :第五章:MongoDB 插入更新删除查询文档" target="_blank">MongoDB :第五章:MongoDB 插入更新删除查询文档</a>
                        <span class="text-muted">2401_84558091</span>
<a class="tag" taget="_blank" href="/search/%E4%BD%9C%E8%80%85%5C%2F/1.htm">作者\/</a><a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a>
                        <div>“_id”:ObjectId(“56064f89ade2f21f36b03136”),“title”:“MongoDB”,“description”:“MongoDB是一个Nosql数据库”,“by”:“菜鸟教程”,“url”:“http://www.runoob.com”,“tags”:[“mongodb”,“database”,“NoSQL”],“likes”:100}可以看到标题(title</div>
                    </li>
                    <li><a href="/article/1833547113842176000.htm"
                           title="数据库有关c语言" target="_blank">数据库有关c语言</a>
                        <span class="text-muted">h海棠溪</span>
<a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/c%E8%AF%AD%E8%A8%80/1.htm">c语言</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a>
                        <div>数据库的概念SQL(StructuredQueryLanguage)是一种专门用来与数据库进行交互的编程语言,它允许用户查询、更新和管理关系型数据库中的数据。关系型数据库是基于表(Table)的数据库,其中表由行(Row)和列(Column)组成,每一行代表一个记录(Record),每一列代表一个字段(Field)。非关系型数据库MongoDB1、分类:大型中型小型ORACLEMYSQL/MSSQ</div>
                    </li>
                    <li><a href="/article/1833476519616409600.htm"
                           title="使用 MongoDB 构建 AI:Patronus 如何自动进行大语言模型评估来增强对生成式 AI 的信心" target="_blank">使用 MongoDB 构建 AI:Patronus 如何自动进行大语言模型评估来增强对生成式 AI 的信心</a>
                        <span class="text-muted">MongoDB 数据平台</span>
<a class="tag" taget="_blank" href="/search/AI%E5%BA%94%E7%94%A8/1.htm">AI应用</a><a class="tag" taget="_blank" href="/search/%E5%AE%A2%E6%88%B7%E6%A1%88%E4%BE%8B/1.htm">客户案例</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a>
                        <div>大语言模型可能不可靠,这几乎算不上头条新闻。对于某些用例,这可能会带来不便。而对于其他行业,尤其是受监管行业,后果则要严重得多。于是,业内首个大语言模型自动评估平台PatronusAI应运而生。PatronusAI由MetaAI和MetaRealityLabs的机器学习专家创立,旨在增强企业对生成式AI应用程序的信心,在塑造值得信赖的AI生态方面处于领先地位。Patronus联合创始人兼首席技术官</div>
                    </li>
                    <li><a href="/article/1833299398075969536.htm"
                           title="MongoDB-副本集PSA架构搭建配置手册" target="_blank">MongoDB-副本集PSA架构搭建配置手册</a>
                        <span class="text-muted">玩亚索的小孔</span>
<a class="tag" taget="_blank" href="/search/MongoDB/1.htm">MongoDB</a><a class="tag" taget="_blank" href="/search/MongoDB/1.htm">MongoDB</a><a class="tag" taget="_blank" href="/search/%E5%89%AF%E6%9C%AC%E9%9B%86/1.htm">副本集</a><a class="tag" taget="_blank" href="/search/PSA/1.htm">PSA</a>
                        <div>1安装配置------------------------------------------------------------------------------------机器准备:•系统:RedHatEnterpriseLinuxServerrelease7.3(Maipo)•MongoDB版本:mongodb-linux-x86_64-rhel70-3.4.16•下载地址:http://</div>
                    </li>
                    <li><a href="/article/1833292462928523264.htm"
                           title="解决方案| MongoDB PSA 架构痛点以及如何应对?" target="_blank">解决方案| MongoDB PSA 架构痛点以及如何应对?</a>
                        <span class="text-muted">MongoDB中文社区</span>
<a class="tag" taget="_blank" href="/search/MongoDB/1.htm">MongoDB</a><a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a>
                        <div>一.背景最近MongoDB群里面有群友遇到2次重启MongoDB后一直处于实例恢复状态(应用OPLOG),多达几天甚至更长才完成重启,通常MongoDB副本集三个实例作为标准,重启主库会发生重新选出新主节点(通常在12s内完成)重新对外服务,通常不符合官方标准化或者内部发生异常导致的。经过了解副本集采用PSA架构且存在一个数据从节点不可达的情况(甚至有的从节点宕机几个月没有发现),来分析这些情况以</div>
                    </li>
                    <li><a href="/article/1833289060962103296.htm"
                           title="MongoDB之写关注及PSA架构相关问题" target="_blank">MongoDB之写关注及PSA架构相关问题</a>
                        <span class="text-muted">吃饭端住碗</span>
<a class="tag" taget="_blank" href="/search/MongoDB/1.htm">MongoDB</a><a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a>
                        <div>MongoDB的写关注主要指定了写入操作的确认级别。具体来讲就是客户端在向MongoDB执行比如delete、insert、update等相关写入操作时,MongoDB的写入行为,比如是否立刻刷盘、是否需要等待Secondary节点确认等。写关注说明写关注配置主要包含以下3个字段:{w:,j:,wtimeout:}w选项指定了写入操作需要等待确认的副本集成员个数。取值如下:“majority”:写</div>
                    </li>
                    <li><a href="/article/1833284897666592768.htm"
                           title="mongoDB 对一个做了索引的字段,要不要给默认值?" target="_blank">mongoDB 对一个做了索引的字段,要不要给默认值?</a>
                        <span class="text-muted">hongkid</span>
<a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a>
                        <div>引言在设计数据库模式时,如何处理字段的默认值是一个值得深入探讨的话题。对于MongoDB这样的NoSQL数据库来说,灵活性是其一大特点,但这同时也意味着开发者需要更加谨慎地考虑数据的一致性和完整性。本文将探讨在一个已创建索引的字段上,在插入文档时是否应该显式设置默认值的问题,并给出具体的建议。MongoDB中的索引与字段设置在MongoDB中,索引可以帮助提高查询性能,特别是在处理大规模数据集时。</div>
                    </li>
                    <li><a href="/article/1833284771459985408.htm"
                           title="MongoDB-聚合查询操作介绍" target="_blank">MongoDB-聚合查询操作介绍</a>
                        <span class="text-muted">侯晓阳丶</span>
<a class="tag" taget="_blank" href="/search/MongoDB/1.htm">MongoDB</a><a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/dba/1.htm">dba</a><a class="tag" taget="_blank" href="/search/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/1.htm">经验分享</a>
                        <div>目录前言db.collection.aggregate()db.collection.aggregate()示例一db.collection.aggregate()示例二复杂的聚合操作通过mongoimport导入测试数据复杂的聚合操作示例聚合操作的偏好设置-project函数聚合操作的偏好设置-unwind函数前言MongoDB聚合操作相当于关系型数据库SQL语句的"groupby"、“orde</div>
                    </li>
                    <li><a href="/article/1833265604484755456.htm"
                           title="Docker搭建MongoDB Replica Set高可用集群+数据丢失&被黑解决+自动备份与恢复脚本+持久化慢查询记录" target="_blank">Docker搭建MongoDB Replica Set高可用集群+数据丢失&被黑解决+自动备份与恢复脚本+持久化慢查询记录</a>
                        <span class="text-muted">秋风お亦冷</span>
<a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4%E4%BC%81%E4%B8%9A%E5%AE%9E%E6%88%98%E7%AC%94%E5%BD%95/1.htm">运维企业实战笔录</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a>
                        <div>文章目录引节点规划配置文件创建持久化目录创建并推送证书启动临时容器修改配置文件单节点参考mongod.confdocker-compose.ymlReplicaSet参考mongod.confdocker-compose.yml部署与配置部署集群配置集群验证集群增删节点增加节点删除节点查看节点常用命令重置集群备份数据关闭服务删除持久化数据启动集群配置集群验证集群创建用户验证集群用户管理权限说明创建</div>
                    </li>
                    <li><a href="/article/1833207862239784960.htm"
                           title="vue+jsonrpc+mongoDB文件传输解决方案(任意格式文件)" target="_blank">vue+jsonrpc+mongoDB文件传输解决方案(任意格式文件)</a>
                        <span class="text-muted">weideng_san</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%96%87%E4%BB%B6%E4%BC%A0%E8%BE%93/1.htm">文件传输</a><a class="tag" taget="_blank" href="/search/jsonrpc/1.htm">jsonrpc</a><a class="tag" taget="_blank" href="/search/mongoDB/1.htm">mongoDB</a><a class="tag" taget="_blank" href="/search/vue/1.htm">vue</a>
                        <div>环境及需求:前端采用vue;后端采用spring,但是只用到了spring的对象注入功能,未使用springweb相关功能。前后端通信采用jsonrpc,现需要在前端选中文件(格式未知,上传到后端,后端将其存储在mongoDB中)。背景:springweb可以直接使用controller接受MultipartFile对象;但是jsonrpc不能直接传输文件类型,jsonrpc是轻量级通信框架,擅长</div>
                    </li>
                    <li><a href="/article/1832967286206590976.htm"
                           title="mongodb 在 Windows 环境下迁移数据库的问题" target="_blank">mongodb 在 Windows 环境下迁移数据库的问题</a>
                        <span class="text-muted">Eagsen CEO</span>
<a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a>
                        <div>mongodb是一款非常优秀的文档数据库,它的社区版本是免费的。但是mongodb的迁移和其他传统的关系数据库不太一样,通过官方提供的图形化的客户端工具无法备份和迁移,需要下载命令行工具进行。首先下载命令行工具:DownloadMongoDBCommandLineDatabaseTools|MongoDBWindows安装后,使用管理员身份打开cmd命令窗口,导航到安装目录的bin目录下,如果是默</div>
                    </li>
                    <li><a href="/article/1832831250319110144.htm"
                           title="python网络爬虫(五)——爬取天气预报" target="_blank">python网络爬虫(五)——爬取天气预报</a>
                        <span class="text-muted">光电的一只菜鸡</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>1.注册高德天气key  点击高德天气,然后按照开发者文档完成key注册;作为爬虫练习项目之一。从高德地图json数据接口获取天气,可以获取某省的所有城市天气,高德地图的这个接口还能获取县城的天气。其天气查询API服务地址为https://restapi.amap.com/v3/weather/weatherInfo?parameters,若要获取某城市的天气推荐2.安装MongoDB  Mong</div>
                    </li>
                    <li><a href="/article/1832805656843874304.htm"
                           title="Spring常用中间件" target="_blank">Spring常用中间件</a>
                        <span class="text-muted">贺仙姑</span>
<a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/%E4%B8%AD%E9%97%B4%E4%BB%B6/1.htm">中间件</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                        <div>1.数据库中间件(1)MySQL:常用的关系型数据库,支持JDBC和JPA。(2)PostgreSQL:功能强大的开源关系型数据库,支持复杂查询。(3)MongoDB:NoSQL数据库,适合存储非结构化数据。(4)Redis:内存数据结构存储,常用于缓存和消息队列。2.消息队列(1)RabbitMQ:开源消息代理,支持多种消息协议,适合异步处理。(2)Kafka:分布式流处理平台,适合处理大规模数</div>
                    </li>
                    <li><a href="/article/1832235443958149120.htm"
                           title="Node.js 数据库操作详解:构建高效的数据持久化层" target="_blank">Node.js 数据库操作详解:构建高效的数据持久化层</a>
                        <span class="text-muted">Switch616</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/node.js/1.htm">node.js</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/%E7%B3%BB%E7%BB%9F%E6%9E%B6%E6%9E%84/1.htm">系统架构</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E6%A1%86%E6%9E%B6/1.htm">前端框架</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>Node.js数据库操作详解:构建高效的数据持久化层目录MongoDB使用mongoose连接MongoDB定义模型和数据验证实现CRUD操作️MySQL使用mysql或mysql2模块连接MySQL执行SQL查询处理结果和错误SQLite使用sqlite3模块连接SQLite执行SQL查询处理事务MongoDB使用mongoose连接MongoDBmongoose是一个为MongoDB提供对象数</div>
                    </li>
                    <li><a href="/article/1832066665878220800.htm"
                           title="MongoDB的WiredTiger存储引擎" target="_blank">MongoDB的WiredTiger存储引擎</a>
                        <span class="text-muted">云掣YUNCHE</span>
<a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a>
                        <div>作者:太阳从MongoDB3.2开始,MongoDB实例默认的存储引擎为WiredTiger,WiredTiger存储引擎具体以下几大优点:文档级并发将数据持久化到磁盘快照和checkpoint数据压缩本地数据加密一、文档级别并发1、WiredTiger使用文档级别并发,意味着在同一时间,MongoDB实例允许多个对不同文档间的写操作并发执行(复制应用oplog时同样可以做到文档级并发应用)。2、</div>
                    </li>
                    <li><a href="/article/1832033378703077376.htm"
                           title="mongodb中常用的运算符和正则表达式" target="_blank">mongodb中常用的运算符和正则表达式</a>
                        <span class="text-muted">手搓二十四种设计模式</span>
<a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a>
                        <div>在mongodb中不能>=,----$gt=----$gte<=----$lte!==----$ne例如:查询id比三大的所有记录db.students.find({id:{$gt:3}});2.逻辑运算符:$or逻辑或例如:查询年龄为十岁或九岁的数据db.students.find({$or:[{age:10},{age:9}]});$and逻辑与:例如:查询年龄大于十一岁且小于二十四的db.s</div>
                    </li>
                    <li><a href="/article/1831967121630916608.htm"
                           title="SpringCloud 结合 MongoTemplate 打印执行语句log" target="_blank">SpringCloud 结合 MongoTemplate 打印执行语句log</a>
                        <span class="text-muted">kikiki1</span>

                        <div>在调度MongoTemplate的时候,我们无法确定我们写的方法是否能发出正确的语句,这时候我们需要将语句给打印出来。springcloud使用方法在application.yml文件中增加如下配置即可logging:level:org.springframework.data.mongodb.core.MongoTemplate:DEBUG</div>
                    </li>
                    <li><a href="/article/1831801918628917248.htm"
                           title="2024年Python最新Python爬虫教程-新浪微博分布式爬虫分享(2)" target="_blank">2024年Python最新Python爬虫教程-新浪微博分布式爬虫分享(2)</a>
                        <span class="text-muted">2401_84584682</span>
<a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E5%91%98/1.htm">程序员</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/%E6%96%B0%E6%B5%AA%E5%BE%AE%E5%8D%9A/1.htm">新浪微博</a>
                        <div>开发语言:Python2.7开发环境:64位Windows8系统,4G内存,i7-3612QM处理器。数据库:MongoDB3.2.0、Redis3.0.501(Python编辑器:Pycharm;MongoDB管理工具:MongoBooster;Redis管理工具:RedisStudio)爬虫框架使用Scrapy,使用scrapy_redis和Redis实现分布式。分布式中有一台机充当Maste</div>
                    </li>
                                <li><a href="/article/55.htm"
                                       title="多线程编程之卫生间" target="_blank">多线程编程之卫生间</a>
                                    <span class="text-muted">周凡杨</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%B9%B6%E5%8F%91/1.htm">并发</a><a class="tag" taget="_blank" href="/search/%E5%8D%AB%E7%94%9F%E9%97%B4/1.htm">卫生间</a><a class="tag" taget="_blank" href="/search/%E7%BA%BF%E7%A8%8B/1.htm">线程</a><a class="tag" taget="_blank" href="/search/%E5%8E%95%E6%89%80/1.htm">厕所</a>
                                    <div>如大家所知,火车上车厢的卫生间很小,每次只能容纳一个人,一个车厢只有一个卫生间,这个卫生间会被多个人同时使用,在实际使用时,当一个人进入卫生间时则会把卫生间锁上,等出来时打开门,下一个人进去把门锁上,如果有一个人在卫生间内部则别人的人发现门是锁的则只能在外面等待。问题分析:首先问题中有两个实体,一个是人,一个是厕所,所以设计程序时就可以设计两个类。人是多数的,厕所只有一个(暂且模拟的是一个车厢)。</div>
                                </li>
                                <li><a href="/article/182.htm"
                                       title="How to Install GUI to Centos Minimal" target="_blank">How to Install GUI to Centos Minimal</a>
                                    <span class="text-muted">sunjing</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/Install/1.htm">Install</a><a class="tag" taget="_blank" href="/search/Desktop/1.htm">Desktop</a><a class="tag" taget="_blank" href="/search/GUI/1.htm">GUI</a>
                                    <div>http://www.namhuy.net/475/how-to-install-gui-to-centos-minimal.html 
  
I have centos 6.3 minimal running as web server. I’m looking to install gui to my server to vnc to my server. You can insta</div>
                                </li>
                                <li><a href="/article/309.htm"
                                       title="Shell 函数" target="_blank">Shell 函数</a>
                                    <span class="text-muted">daizj</span>
<a class="tag" taget="_blank" href="/search/shell/1.htm">shell</a><a class="tag" taget="_blank" href="/search/%E5%87%BD%E6%95%B0/1.htm">函数</a>
                                    <div>Shell 函数 
linux shell 可以用户定义函数,然后在shell脚本中可以随便调用。 
shell中函数的定义格式如下: 
[function] funname [()]{

    action;
  
     [return int;]

} 
说明: 
 
 1、可以带function fun() 定义,也可以直接fun() 定义,不带任何参数。 
 2、参数返回</div>
                                </li>
                                <li><a href="/article/436.htm"
                                       title="Linux服务器新手操作之一" target="_blank">Linux服务器新手操作之一</a>
                                    <span class="text-muted">周凡杨</span>
<a class="tag" taget="_blank" href="/search/Linux+%E7%AE%80%E5%8D%95+%E6%93%8D%E4%BD%9C/1.htm">Linux 简单 操作</a>
                                    <div>1.whoami 
     当一个用户登录Linux系统之后,也许他想知道自己是发哪个用户登录的。 
     此时可以使用whoami命令。 
     [ecuser@HA5-DZ05 ~]$ whoami 
      e</div>
                                </li>
                                <li><a href="/article/563.htm"
                                       title="浅谈Socket通信(一)" target="_blank">浅谈Socket通信(一)</a>
                                    <span class="text-muted">朱辉辉33</span>
<a class="tag" taget="_blank" href="/search/socket/1.htm">socket</a>
                                    <div>在java中ServerSocket用于服务器端,用来监听端口。通过服务器监听,客户端发送请求,双方建立链接后才能通信。当服务器和客户端建立链接后,两边都会产生一个Socket实例,我们可以通过操作Socket来建立通信。 
   首先我建立一个ServerSocket对象。当然要导入java.net.ServerSocket包 
   ServerSock</div>
                                </li>
                                <li><a href="/article/690.htm"
                                       title="关于框架的简单认识" target="_blank">关于框架的简单认识</a>
                                    <span class="text-muted">西蜀石兰</span>
<a class="tag" taget="_blank" href="/search/%E6%A1%86%E6%9E%B6/1.htm">框架</a>
                                    <div>入职两个月多,依然是一个不会写代码的小白,每天的工作就是看代码,写wiki。 
前端接触CSS、HTML、JS等语言,一直在用的CS模型,自然免不了数据库的链接及使用,真心涉及框架,项目中用到的BootStrap算一个吧,哦,JQuery只能算半个框架吧,我更觉得它是另外一种语言。 
后台一直是纯Java代码,涉及的框架是Quzrtz和log4j。 
 
都说学前端的要知道三大框架,目前node.</div>
                                </li>
                                <li><a href="/article/817.htm"
                                       title="You have an error in your SQL syntax; check the manual that corresponds to your" target="_blank">You have an error in your SQL syntax; check the manual that corresponds to your</a>
                                    <span class="text-muted">林鹤霄</span>

                                    <div>You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'option,changed_ids  ) values('0ac91f167f754c8cbac00e9e3dc372</div>
                                </li>
                                <li><a href="/article/944.htm"
                                       title="MySQL5.6的my.ini配置" target="_blank">MySQL5.6的my.ini配置</a>
                                    <span class="text-muted">aigo</span>
<a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a>
                                    <div>注意:以下配置的服务器硬件是:8核16G内存  
  
[client] 
  
port=3306 
  
[mysql] 
  
default-character-set=utf8 
  
  
[mysqld] 
  
port=3306 
  
basedir=D:/mysql-5.6.21-win</div>
                                </li>
                                <li><a href="/article/1071.htm"
                                       title="mysql 全文模糊查找 便捷解决方案" target="_blank">mysql 全文模糊查找 便捷解决方案</a>
                                    <span class="text-muted">alxw4616</span>
<a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a>
                                    <div>mysql 全文模糊查找 便捷解决方案 
2013/6/14 by 半仙 alxw4616@Msn.com 
 
目的: 项目需求实现模糊查找. 
原则: 查询不能超过 1秒. 
 
问题: 目标表中有超过1千万条记录. 使用like '%str%' 进行模糊查询无法达到性能需求. 
解决方案: 使用mysql全文索引. 
 1.全文索引 : MySQL支持全文索引和搜索功能。MySQL中的全文索</div>
                                </li>
                                <li><a href="/article/1198.htm"
                                       title="自定义数据结构 链表(单项 ,双向,环形)" target="_blank">自定义数据结构 链表(单项 ,双向,环形)</a>
                                    <span class="text-muted">百合不是茶</span>
<a class="tag" taget="_blank" href="/search/%E5%8D%95%E9%A1%B9%E9%93%BE%E8%A1%A8/1.htm">单项链表</a><a class="tag" taget="_blank" href="/search/%E5%8F%8C%E5%90%91%E9%93%BE%E8%A1%A8/1.htm">双向链表</a>
                                    <div>  
   链表与动态数组的实现方式差不多,    数组适合快速删除某个元素    链表则可以快速的保存数组并且可以是不连续的 
  
    
单项链表;数据从第一个指向最后一个 
  
实现代码: 
  
     
//定义动态链表
clas</div>
                                </li>
                                <li><a href="/article/1325.htm"
                                       title="threadLocal实例" target="_blank">threadLocal实例</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/thread/1.htm">thread</a><a class="tag" taget="_blank" href="/search/java%E5%A4%9A%E7%BA%BF%E7%A8%8B/1.htm">java多线程</a><a class="tag" taget="_blank" href="/search/threadLocal/1.htm">threadLocal</a>
                                    <div>实例1: 
package com.bijian.thread;

public class MyThread extends Thread {

	private static ThreadLocal tl = new ThreadLocal() {
		protected synchronized Object initialValue() {
			return new Inte</div>
                                </li>
                                <li><a href="/article/1452.htm"
                                       title="activemq安全设置—设置admin的用户名和密码" target="_blank">activemq安全设置—设置admin的用户名和密码</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/activemq/1.htm">activemq</a>
                                    <div>        ActiveMQ使用的是jetty服务器, 打开conf/jetty.xml文件,找到 
<bean id="adminSecurityConstraint" class="org.eclipse.jetty.util.security.Constraint">
        <p</div>
                                </li>
                                <li><a href="/article/1579.htm"
                                       title="【Java范型一】Java范型详解之范型集合和自定义范型类" target="_blank">【Java范型一】Java范型详解之范型集合和自定义范型类</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>本文详细介绍Java的范型,写一篇关于范型的博客原因有两个,前几天要写个范型方法(返回值根据传入的类型而定),竟然想了半天,最后还是从网上找了个范型方法的写法;再者,前一段时间在看Gson, Gson这个JSON包的精华就在于对范型的优雅简单的处理,看它的源代码就比较迷糊,只其然不知其所以然。所以,还是花点时间系统的整理总结下范型吧。 
  范型内容 
 
 范型集合类 
 范型类 
 </div>
                                </li>
                                <li><a href="/article/1706.htm"
                                       title="【HBase十二】HFile存储的是一个列族的数据" target="_blank">【HBase十二】HFile存储的是一个列族的数据</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/hbase/1.htm">hbase</a>
                                    <div>在HBase中,每个HFile存储的是一个表中一个列族的数据,也就是说,当一个表中有多个列簇时,针对每个列簇插入数据,最后产生的数据是多个HFile,每个对应一个列族,通过如下操作验证 
  
1. 建立一个有两个列族的表 
  
create 'members','colfam1','colfam2' 
  
2. 在members表中的colfam1中插入50*5</div>
                                </li>
                                <li><a href="/article/1833.htm"
                                       title="Nginx 官方一个配置实例" target="_blank">Nginx 官方一个配置实例</a>
                                    <span class="text-muted">ronin47</span>
<a class="tag" taget="_blank" href="/search/nginx+%E9%85%8D%E7%BD%AE%E5%AE%9E%E4%BE%8B/1.htm">nginx 配置实例</a>
                                    <div>user       www www;
worker_processes  5;
error_log  logs/error.log;
pid        logs/nginx.pid;
worker_rlimit_nofile 8192;

events {
  worker_connections  4096;}

http {
  include    conf/mim</div>
                                </li>
                                <li><a href="/article/1960.htm"
                                       title="java-15.输入一颗二元查找树,将该树转换为它的镜像, 即在转换后的二元查找树中,左子树的结点都大于右子树的结点。 用递归和循环" target="_blank">java-15.输入一颗二元查找树,将该树转换为它的镜像, 即在转换后的二元查找树中,左子树的结点都大于右子树的结点。 用递归和循环</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>
//use recursion
	public static void mirrorHelp1(Node node){
		if(node==null)return;
		swapChild(node);
		mirrorHelp1(node.getLeft());
		mirrorHelp1(node.getRight());
	}
	//use no recursion bu</div>
                                </li>
                                <li><a href="/article/2087.htm"
                                       title="返回null还是empty" target="_blank">返回null还是empty</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/apache/1.htm">apache</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B/1.htm">编程</a>
                                    <div>第一个问题,函数是应当返回null还是长度为0的数组(或集合)? 
第二个问题,函数输入参数不当时,是异常还是返回null? 
 
先看第一个问题 
 
有两个约定我觉得应当遵守: 
 
1.返回零长度的数组或集合而不是null(详见《Effective Java》) 
 
理由就是,如果返回empty,就可以少了很多not-null判断: 
 

List<Person> list</div>
                                </li>
                                <li><a href="/article/2214.htm"
                                       title="[科技与项目]工作流厂商的战略机遇期" target="_blank">[科技与项目]工作流厂商的战略机遇期</a>
                                    <span class="text-muted">comsci</span>
<a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C%E6%B5%81/1.htm">工作流</a>
                                    <div> 
 
      在新的战略平衡形成之前,这里有一个短暂的战略机遇期,只有大概最短6年,最长14年的时间,这段时间就好像我们森林里面的小动物,在秋天中,必须抓紧一切时间存储坚果一样,否则无法熬过漫长的冬季。。。。 
 
 
        在微软,甲骨文,谷歌,IBM,SONY</div>
                                </li>
                                <li><a href="/article/2341.htm"
                                       title="过度设计-举例" target="_blank">过度设计-举例</a>
                                    <span class="text-muted">cuityang</span>
<a class="tag" taget="_blank" href="/search/%E8%BF%87%E5%BA%A6%E8%AE%BE%E8%AE%A1/1.htm">过度设计</a>
                                    <div>过度设计,需要更多设计时间和测试成本,如无必要,还是尽量简洁一些好。 
未来的事情,比如 访问量,比如数据库的容量,比如是否需要改成分布式  都是无法预料的 
 
再举一个例子,对闰年的判断逻辑: 
  1、 if($Year%4==0) return True; else return Fasle; 
  2、if (   ($Year%4==0  &am</div>
                                </li>
                                <li><a href="/article/2468.htm"
                                       title="java进阶,《Java性能优化权威指南》试读" target="_blank">java进阶,《Java性能优化权威指南》试读</a>
                                    <span class="text-muted">darkblue086</span>
<a class="tag" taget="_blank" href="/search/java%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/1.htm">java性能优化</a>
                                    <div>记得当年随意读了微软出版社的.NET 2.0应用程序调试,才发现调试器如此强大,应用程序开发调试其实真的简单了很多,不仅仅是因为里面介绍了很多调试器工具的使用,更是因为里面寻找问题并重现问题的思想让我震撼,时隔多年,Java已经如日中天,成为许多大型企业应用的首选,而今天,这本《Java性能优化权威指南》让我再次找到了这种感觉,从不经意的开发过程让我刮目相看,原来性能调优不是简单地看看热点在哪里,</div>
                                </li>
                                <li><a href="/article/2595.htm"
                                       title="网络学习笔记初识OSI七层模型与TCP协议" target="_blank">网络学习笔记初识OSI七层模型与TCP协议</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/1.htm">学习笔记</a>
                                    <div>   协议:在计算机网络中通信各方面所达成的、共同遵守和执行的一系列约定     计算机网络的体系结构:计算机网络的层次结构和各层协议的集合。     两类服务:     面向连接的服务通信双方在通信之前先建立某种状态,并在通信过程中维持这种状态的变化,同时为服务对象预先分配一定的资源。这种服务叫做面向连接的服务。     面向无连接的服务通信双方在通信前后不建立和维持状态,不为服务对象</div>
                                </li>
                                <li><a href="/article/2722.htm"
                                       title="mac中用命令行运行mysql" target="_blank">mac中用命令行运行mysql</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/mac/1.htm">mac</a>
                                    <div>参考这篇博客:http://www.cnblogs.com/macro-cheng/archive/2011/10/25/mysql-001.html  感觉workbench不好用(有点先入为主了)。 
1,安装mysql 
在mysql的官方网站下载 mysql 5.5.23 http://www.mysql.com/downloads/mysql/,根据我的机器的配置情况选择了64</div>
                                </li>
                                <li><a href="/article/2849.htm"
                                       title="MongDB查询(1)——基本查询[五]" target="_blank">MongDB查询(1)——基本查询[五]</a>
                                    <span class="text-muted">eksliang</span>
<a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a><a class="tag" taget="_blank" href="/search/mongodb+%E6%9F%A5%E8%AF%A2/1.htm">mongodb 查询</a><a class="tag" taget="_blank" href="/search/mongodb+find/1.htm">mongodb find</a>
                                    <div>MongDB查询 
转载请出自出处:http://eksliang.iteye.com/blog/2174452 一、find简介 
MongoDB中使用find来进行查询。 
API:如下 
function ( query , fields , limit , skip, batchSize, options ){.....} 
 参数含义: 
 
 query:查询参数 
 fie</div>
                                </li>
                                <li><a href="/article/2976.htm"
                                       title="base64,加密解密 经融加密,对接" target="_blank">base64,加密解密 经融加密,对接</a>
                                    <span class="text-muted">y806839048</span>
<a class="tag" taget="_blank" href="/search/%E7%BB%8F%E8%9E%8D%E5%8A%A0%E5%AF%86/1.htm">经融加密</a><a class="tag" taget="_blank" href="/search/%E5%AF%B9%E6%8E%A5/1.htm">对接</a>
                                    <div>String data0 = new String(Base64.encode(bo.getPaymentResult().getBytes(("GBK")))); 
 String data1 = new String(Base64.decode(data0.toCharArray()),"GBK"); 
 
// 注意编码格式,注意用于加密,解密的要是同</div>
                                </li>
                                <li><a href="/article/3103.htm"
                                       title="JavaWeb之JSP概述" target="_blank">JavaWeb之JSP概述</a>
                                    <span class="text-muted">ihuning</span>
<a class="tag" taget="_blank" href="/search/javaweb/1.htm">javaweb</a>
                                    <div>  
什么是JSP?为什么使用JSP? 
JSP表示Java Server Page,即嵌有Java代码的HTML页面。使用JSP是因为在HTML中嵌入Java代码比在Java代码中拼接字符串更容易、更方便和更高效。 
  
JSP起源  
  
在很多动态网页中,绝大部分内容都是固定不变的,只有局部内容需要动态产生和改变。  
如果使用Servl</div>
                                </li>
                                <li><a href="/article/3230.htm"
                                       title="apple watch 指南" target="_blank">apple watch 指南</a>
                                    <span class="text-muted">啸笑天</span>
<a class="tag" taget="_blank" href="/search/apple/1.htm">apple</a>
                                    <div>1. 文档 
 
  WatchKit Programming Guide(中译在线版 By @CocoaChina)    译文 译者 原文   概览 - 开始为 Apple Watch 进行开发 @星夜暮晨 Overview - Developing for Apple Watch   概览 - 配置 Xcode 项目 - Overview - Configuring Yo</div>
                                </li>
                                <li><a href="/article/3357.htm"
                                       title="java经典的基础题目" target="_blank">java经典的基础题目</a>
                                    <span class="text-muted">macroli</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B/1.htm">编程</a>
                                    <div>1.列举出 10个JAVA语言的优势 a:免费,开源,跨平台(平台独立性),简单易用,功能完善,面向对象,健壮性,多线程,结构中立,企业应用的成熟平台, 无线应用 2.列举出JAVA中10个面向对象编程的术语 a:包,类,接口,对象,属性,方法,构造器,继承,封装,多态,抽象,范型 3.列举出JAVA中6个比较常用的包 Java.lang;java.util;java.io;java.sql;ja</div>
                                </li>
                                <li><a href="/article/3484.htm"
                                       title="你所不知道神奇的js replace正则表达式" target="_blank">你所不知道神奇的js replace正则表达式</a>
                                    <span class="text-muted">qiaolevip</span>
<a class="tag" taget="_blank" href="/search/%E6%AF%8F%E5%A4%A9%E8%BF%9B%E6%AD%A5%E4%B8%80%E7%82%B9%E7%82%B9/1.htm">每天进步一点点</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E6%B0%B8%E6%97%A0%E6%AD%A2%E5%A2%83/1.htm">学习永无止境</a><a class="tag" taget="_blank" href="/search/%E7%BA%B5%E8%A7%82%E5%8D%83%E8%B1%A1/1.htm">纵观千象</a><a class="tag" taget="_blank" href="/search/regex/1.htm">regex</a>
                                    <div>var v = 'C9CFBAA3CAD0';
console.log(v);
var arr = v.split('');
for (var i = 0; i < arr.length; i ++) {
  if (i % 2 == 0) arr[i] = '%' + arr[i];
}
console.log(arr.join(''));

console.log(v.r</div>
                                </li>
                                <li><a href="/article/3611.htm"
                                       title="[一起学Hive]之十五-分析Hive表和分区的统计信息(Statistics)" target="_blank">[一起学Hive]之十五-分析Hive表和分区的统计信息(Statistics)</a>
                                    <span class="text-muted">superlxw1234</span>
<a class="tag" taget="_blank" href="/search/hive/1.htm">hive</a><a class="tag" taget="_blank" href="/search/hive%E5%88%86%E6%9E%90%E8%A1%A8/1.htm">hive分析表</a><a class="tag" taget="_blank" href="/search/hive%E7%BB%9F%E8%AE%A1%E4%BF%A1%E6%81%AF/1.htm">hive统计信息</a><a class="tag" taget="_blank" href="/search/hive+Statistics/1.htm">hive Statistics</a>
                                    <div>关键字:Hive统计信息、分析Hive表、Hive Statistics 
  
类似于Oracle的分析表,Hive中也提供了分析表和分区的功能,通过自动和手动分析Hive表,将Hive表的一些统计信息存储到元数据中。 
  
表和分区的统计信息主要包括:行数、文件数、原始数据大小、所占存储大小、最后一次操作时间等; 
  14.1 新表的统计信息 
对于一个新创建</div>
                                </li>
                                <li><a href="/article/3738.htm"
                                       title="Spring Boot 1.2.5 发布" target="_blank">Spring Boot 1.2.5 发布</a>
                                    <span class="text-muted">wiselyman</span>
<a class="tag" taget="_blank" href="/search/spring+boot/1.htm">spring boot</a>
                                    <div>  
  
Spring Boot 1.2.5已在7月2日发布,现在可以从spring的maven库和maven中心库下载。 
  
这个版本是一个维护的发布版,主要是一些修复以及将Spring的依赖提升至4.1.7(包含重要的安全修复)。 
  
官方建议所有的Spring Boot用户升级这个版本。 
  
项目首页 | 源</div>
                                </li>
                </ul>
            </div>
        </div>
    </div>

<div>
    <div class="container">
        <div class="indexes">
            <strong>按字母分类:</strong>
            <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a
                href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a
                href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a
                href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a
                href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a
                href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a
                href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a
                href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a
                href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a>
        </div>
    </div>
</div>
<footer id="footer" class="mb30 mt30">
    <div class="container">
        <div class="footBglm">
            <a target="_blank" href="/">首页</a> -
            <a target="_blank" href="/custom/about.htm">关于我们</a> -
            <a target="_blank" href="/search/Java/1.htm">站内搜索</a> -
            <a target="_blank" href="/sitemap.txt">Sitemap</a> -
            <a target="_blank" href="/custom/delete.htm">侵权投诉</a>
        </div>
        <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved.
<!--            <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>-->
        </div>
    </div>
</footer>
<!-- 代码高亮 -->
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script>
<link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/>
<script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script>





</body>

</html>