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/1901371437478899712.htm"
                           title="mongodb基本使用(四)" target="_blank">mongodb基本使用(四)</a>
                        <span class="text-muted">dibisha7239</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/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/1.htm">数据结构与算法</a><a class="tag" taget="_blank" href="/search/ViewUI/1.htm">ViewUI</a>
                        <div>MongoDB条件操作符描述条件操作符用于比较两个表达式并从mongoDB集合中获取数据。MongoDB中条件操作符有:(>)大于-$gt(=)大于等于-$gte(db.col.insert({title:'PHP教程',description:'PHP是一种创建动态交互性站点的强有力的服务器端脚本语言。',by:'菜鸟教程',url:'http://www.runoob.com',tags:['</div>
                    </li>
                    <li><a href="/article/1901370429235326976.htm"
                           title="MongoDB集合(表)自动创建机制" target="_blank">MongoDB集合(表)自动创建机制</a>
                        <span class="text-muted">zpjing~.~</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里新创建的表是不用整理发给运维的,因为代码中插入数据时,MongoDB会自动创建哦MongoDB中的集合(表)是在插入数据时自动创建的。当你第一次向一个不存在的集合插入文档时,MongoDB会自动创建该集合。你不需要像在关系型数据库中那样预先定义表结构。例如,执行以下操作时:db.myCollection.insertOne({name:"Alice"</div>
                    </li>
                    <li><a href="/article/1901216478909231104.htm"
                           title="通过数据库网格架构构建现代分布式数据系统" target="_blank">通过数据库网格架构构建现代分布式数据系统</a>
                        <span class="text-muted">Navicat中国</span>
<a class="tag" taget="_blank" href="/search/Navicat/1.htm">Navicat</a><a class="tag" taget="_blank" href="/search/%E6%8A%80%E6%9C%AF%E6%99%BA%E5%BA%93/1.htm">技术智库</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/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E5%B8%83%E5%BC%8F/1.htm">分布式</a><a class="tag" taget="_blank" href="/search/navicat/1.htm">navicat</a><a class="tag" taget="_blank" href="/search/%E4%BF%A1%E6%81%AF%E5%8F%AF%E8%A7%86%E5%8C%96/1.htm">信息可视化</a><a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a><a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a>
                        <div>在当今微服务驱动的世界中,企业在跨分布式系统管理数据方面面临着越来越多的挑战。数据库网格架构已成为应对这些挑战的强大解决方案,它提供了一种与现代应用架构相匹配的分散式数据管理方法。本文将探讨数据库网格架构的工作原理,以及如何使用PostgreSQL和MongoDB等流行数据库实施该架构。究竟什么是数据库网格架构?数据库网格架构是一种分散的数据基础架构管理方法,不同的数据库作为一个有凝聚力的系统协同</div>
                    </li>
                    <li><a href="/article/1901195929541734400.htm"
                           title="cursor全栈网页开发最合适的技术架构和开发语言" target="_blank">cursor全栈网页开发最合适的技术架构和开发语言</a>
                        <span class="text-muted">getapi</span>
<a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/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>在使用Cursor(一个基于AI的代码编辑器)进行前后端全栈网页开发时,选择合适的技术架构和开发语言非常重要。以下是一个推荐的技术架构和语言组合,能够帮助你高效开发并充分利用Cursor的功能。1.技术架构推荐对于全栈开发,建议采用MERN/MEAN技术栈或现代化的微前端架构,具体如下:(1)MERN技术栈MERN是MongoDB、Express.js、React和Node.js的缩写,是目前非常</div>
                    </li>
                    <li><a href="/article/1901040721494863872.htm"
                           title="如何使用 Spring Boot 实现分页和排序" target="_blank">如何使用 Spring Boot 实现分页和排序</a>
                        <span class="text-muted">大G哥</span>
<a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%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/spring/1.htm">spring</a>
                        <div>在SpringBoot中实现分页和排序通常是通过SpringDataJPA或者SpringDataMongoDB提供的分页功能来完成的。以下是一个基于SpringDataJPA的分页和排序实现的基本步骤。1.添加依赖首先,确保你在pom.xml中包含了SpringDataJPA和数据库驱动的依赖。org.springframework.bootspring-boot-starter-data-jp</div>
                    </li>
                    <li><a href="/article/1900754737297420288.htm"
                           title="Flask-ORM方式操作Mongodb" target="_blank">Flask-ORM方式操作Mongodb</a>
                        <span class="text-muted">Enougme</span>
<a class="tag" taget="_blank" href="/search/Flask/1.htm">Flask</a><a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a><a class="tag" taget="_blank" href="/search/flask/1.htm">flask</a>
                        <div>前言在实际项目中,我们有时需要存储一些json类型的字符串,这种类型的数据写入到关系型数据库,会比较麻烦。一般我们将其写入到非关系型数据库中,例如MongoDB,同样我们也可以用操作关系型数据库的ORM方式操作MongoDB。1:配置文件的(settings.py)MONGODB_SETTINGS=[{'db':'api_params','host':MONGO_DB,'port':27017,"</div>
                    </li>
                    <li><a href="/article/1900682214136410112.htm"
                           title="Go语言分布式ID生成策略优选:UUID、Snowflake、XID、ObjectID、Krand性能对比评测" target="_blank">Go语言分布式ID生成策略优选:UUID、Snowflake、XID、ObjectID、Krand性能对比评测</a>
                        <span class="text-muted">zhuyasen</span>
<a class="tag" taget="_blank" href="/search/golang/1.htm">golang</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E5%B8%83%E5%BC%8F/1.htm">分布式</a>
                        <div>在高并发应用场景下,如订单系统、分布式数据库主键、消息队列等,分布式ID的生成至关重要。本文将基于Go语言,对多种分布式ID生成方案进行基准测试(Benchmark),并分析其性能及适用场景,帮助开发者选择最优方案。常见分布式ID生成方案在Go语言生态中,常见的分布式ID生成方案包括:XID(github.com/rs/xid):基于MongoDBObjectID改进的方案,时间排序、唯一性强、无</div>
                    </li>
                    <li><a href="/article/1900436243246804992.htm"
                           title="MongoDB在Spring商城用户行为记录中的应用" target="_blank">MongoDB在Spring商城用户行为记录中的应用</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/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a>
                        <div>一、MongoDB的优势灵活Schema用户行为数据结构多变(如点击、搜索、下单),MongoDB的文档模型无需固定字段,适应快速迭代。高吞吐写入支持批量插入,适合高并发场景(如秒杀活动的用户操作记录)。复杂查询优化支持聚合管道、地理空间查询、全文索引,便于多维分析。水平扩展通过分片(Sharding)应对海量数据存储。二、用户行为数据建模1.基础行为记录集合(如user_actions){"us</div>
                    </li>
                    <li><a href="/article/1900417971881308160.htm"
                           title="python执行cmd命令行异步执行_Python 异步调用命令行工具" target="_blank">python执行cmd命令行异步执行_Python 异步调用命令行工具</a>
                        <span class="text-muted">weixin_39719732</span>

                        <div>当你在自己的Python程序中采用了基于事件循环的异步编程方法之后,你就会发现自己不自觉地被其牢牢吸引住,并不是说这一方法多么棒,而是因为你不得不想办法保证程序中的任意环节都不能是阻塞的!例如当前的场景是希望从MongoDB中读取每一条未处理过的数据,下载并保存其中的图片信息,然后更新数据库的内容。Python常用的MongoDB异步驱动是Motor:结合asyncio使用方法如下:importm</div>
                    </li>
                    <li><a href="/article/1900411667276165120.htm"
                           title="【从零开始学习计算机科学】数据库系统(十一)云数据库、NoSQL 与 NewSQL" target="_blank">【从零开始学习计算机科学】数据库系统(十一)云数据库、NoSQL 与 NewSQL</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/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/nosql/1.htm">nosql</a><a class="tag" taget="_blank" href="/search/newsql/1.htm">newsql</a><a class="tag" taget="_blank" href="/search/%E4%BA%91%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">云数据库</a><a class="tag" taget="_blank" href="/search/CAP/1.htm">CAP</a><a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a>
                        <div>【从零开始学习计算机科学】数据库系统(十一)云数据库、NoSQL与NewSQL云数据库云服务器的服务云数据库和传统的分布式数据库的异同NoSQLNoSQL数据库的特点CAP定理NoSQL的特性NoSQL数据库的分类NoSQL的适用场景Nosql数据库实例-RedisRedis的优势MongoDBMongoDB的特点NewSQLNewSQL出现的背景NewSQL(新型分布式数据库)的概念NewSQL</div>
                    </li>
                    <li><a href="/article/1900395264238219264.htm"
                           title="Linux---sqlite3数据库" target="_blank">Linux---sqlite3数据库</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/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/sqlite/1.htm">sqlite</a>
                        <div>一、数据库分类1.按数据关系分类类型特点代表产品关系型数据库-使用SQL(结构化查询语言)-数据以行列形式存储,支持事务和复杂查询MySQL、Oracle、SQLite非关系型数据库-无固定表结构(如键值对、文档、图)-高扩展性,适合非结构化数据MongoDB、Redis2.按功能规模分类类型特点代表产品大型数据库高并发、高可用性,支持企业级应用Oracle、DB2中型数据库适用于中小型企业,跨平</div>
                    </li>
                    <li><a href="/article/1900344200549953536.htm"
                           title="MongoDB副本集介绍与部署" target="_blank">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/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><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><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4%E5%BC%80%E5%8F%91/1.htm">运维开发</a><a class="tag" taget="_blank" href="/search/%E6%80%A7%E8%83%BD%E6%B5%8B%E8%AF%95/1.htm">性能测试</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E4%BB%93%E5%BA%93/1.htm">数据仓库</a>
                        <div>MongoDB副本集(ReplicaSet)作为MongoDB数据库的核心功能之一,为开发人员提供了一种简单而有效的方式来实现数据的高可用性和冗余备份。在本文中,我们将探讨MongoDB副本集的概念、工作原理以及如何配置和管理一个稳健的副本集环境。关于MongoDB分片介绍与部署,可以参考:MongoDB分片介绍与部署一、副本集介绍1、副本集(replicaset)MongoDB的副本集(Repl</div>
                    </li>
                    <li><a href="/article/1900341553134628864.htm"
                           title="MongoDB介绍与部署使用" target="_blank">MongoDB介绍与部署使用</a>
                        <span class="text-muted">zhangleijiutian</span>
<a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a>
                        <div>MongoDB的功能特性MongoDB是一个高性能、开源、无模式的文档型数据库,设计用于提供高性能、水平可扩性、高可用性和高级可查询性,为Web应用提供可扩展的高性能数据存储解决方案。MongoDB的名称取自单词”humogous”中间的几个字符,是很大、巨大的意思。该数据库由10gen公司开发并提供技术支持,它属于NoSQL数据库家族中的一员,在许多场景下可以用来替代传统关系型数据库或key/v</div>
                    </li>
                    <li><a href="/article/1900332979574599680.htm"
                           title="arcgis 切片分析录入mongodb" target="_blank">arcgis 切片分析录入mongodb</a>
                        <span class="text-muted">tvrddmss</span>
<a class="tag" taget="_blank" href="/search/arcgis/1.htm">arcgis</a><a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a>
                        <div>将arcgis的切片数据录入mongodb,这样可以支持自定义的server发步以下是对3种arcgis切片规则的分析松散型也就是我们常见的文件式的切片管理方式,将ArcgisServer切出来的切片图片按照行列号的规范,存储在相应的文件夹中。循环所有.png文件路径,存入mongodb数据库for(leti=0;i0){letb3dmData={'level':level,'row':rowin</div>
                    </li>
                    <li><a href="/article/1900058903442419712.htm"
                           title="【云原生之Docker实战】使用Docker部署MongoDB数据库管理工具Mongo-Express" target="_blank">【云原生之Docker实战】使用Docker部署MongoDB数据库管理工具Mongo-Express</a>
                        <span class="text-muted">江湖有缘</span>
<a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/%E4%BA%91%E5%8E%9F%E7%94%9F/1.htm">云原生</a><a class="tag" taget="_blank" href="/search/Mongo-Express/1.htm">Mongo-Express</a>
                        <div>【云原生之Docker实战】使用Docker部署MongoDB数据库管理工具Mongo-Express一、Mongo-Express介绍1.Mongo-Express简介2.MongoDB简介二、检查本地系统环境1.检查系统版本2.检查docker状态3.检查docker版本三、安装docker-compose1.下载docker-compose二进制包2.给文件增加执行权限3.检查docker-</div>
                    </li>
                    <li><a href="/article/1900046420551987200.htm"
                           title="Centos7 下 安装 MongoDB" target="_blank">Centos7 下 安装 MongoDB</a>
                        <span class="text-muted">Amo Xiang</span>
<a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83%E6%90%AD%E5%BB%BA%E5%90%88%E9%9B%86/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><a class="tag" taget="_blank" href="/search/nosql/1.htm">nosql</a><a class="tag" taget="_blank" href="/search/centos7/1.htm">centos7</a>
                        <div>目录一、使用YUM的方式安装一、使用YUM的方式安装1、sudovi/etc/yum.repos.d/mongodb-org.repo修改为如下内容保存:[mongodb-org-5.0]name=MongoDBRepositorybaseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/5.0/x86_64/gpgch</div>
                    </li>
                    <li><a href="/article/1900038977927311360.htm"
                           title="centos 7下安装mongodb" target="_blank">centos 7下安装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/centos/1.htm">centos</a><a class="tag" taget="_blank" href="/search/7%E4%B8%8B%E5%AE%89%E8%A3%85mongodb/1.htm">7下安装mongodb</a>
                        <div>1、访问mongodbhttps://www.mongodb.com/download-center/community2、我选择版本3.2.22下载解压,并进入/usr/local/mongodb/配置环境变量source/etc/profile在/usr/local/mongodb/bin/新建mongodb.conf,内容是#数据文件存放目录dbpath=/usr/local/mongodb</div>
                    </li>
                    <li><a href="/article/1900029142489952256.htm"
                           title="express+ bootstrap/vue.js+mongodb 开发综合学生管理WEB项目系统" target="_blank">express+ bootstrap/vue.js+mongodb 开发综合学生管理WEB项目系统</a>
                        <span class="text-muted">鱼弦</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/express/1.htm">express</a><a class="tag" taget="_blank" href="/search/bootstrap/1.htm">bootstrap</a>
                        <div>该WEB项目要求如下:整个系统要有比较完整的功能,有前端网页数据示,也要有后台管理功能,具有一定的实用性。网页前端展示页面设计可以采用bootstrap框架,也可以使用vue.js实现,前端网页数据均要来自于后端从数据库中查询出来的数据。下面是利用Express后端+Bootstrap前端+MongoDB数据库的代码示例,用于实现一个综合的学生管理系统:1.安装所需模块在终端中输入以下命令,安装所</div>
                    </li>
                    <li><a href="/article/1900024978443661312.htm"
                           title="centos7中安装mongoDB4" target="_blank">centos7中安装mongoDB4</a>
                        <span class="text-muted">Andy86666</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><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/nosql/1.htm">nosql</a>
                        <div>Linux版本文章目录Linux版本一、上传文件到Linux上二、安装MongoDB三、配置环境变量四、运行mongodb资料:下载mongodb-linux-x86_64-rhel70-4.4.16一、上传文件到Linux上将mongodb-linux-x86_64-rhel70-4.4.16.tgz文件上传到虚拟机上可以通过lrzsz上传文件,我将文件上传到/opt/software中先进入到</div>
                    </li>
                    <li><a href="/article/1900023339720699904.htm"
                           title="Linux CentOS7 环境下安装 MongoDB" target="_blank">Linux CentOS7 环境下安装 MongoDB</a>
                        <span class="text-muted">2401_85112412</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/linux/1.htm">linux</a><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>3.1将下载好的安装包上传到Linux服务器某个目录下,并使用以下命令解压压缩包。tar-zxvfmongodb-linux-x86_64-rhel70-4.0.27.tgz3.2将解压后的目录移动到/usr/local目录下,并改名为mongodb。mvmongodb-linux-x86_64-rhel70-4.0.27/usr/local/mongodb3.3进入mongodb目录,并创建文件</div>
                    </li>
                    <li><a href="/article/1900020566027464704.htm"
                           title="CentOS7下安装MongoDB" target="_blank">CentOS7下安装MongoDB</a>
                        <span class="text-muted">wjf63000</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>步骤1:创建MongoDBYum仓库文件你需要创建一个MongoDB的Yum仓库配置文件,以便从官方源下载MongoDB。打开终端并使用以下命令创建并编辑该文件:sudovi/etc/yum.repos.d/mongodb-org-7.0.repo在打开的文件中,输入以下内容:[mongodb-org-7.0]name=MongoDBRepositorybaseurl=https://repo.m</div>
                    </li>
                    <li><a href="/article/1899852737751871488.htm"
                           title="python操作mongodb" target="_blank">python操作mongodb</a>
                        <span class="text-muted">叫我DPT</span>
<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/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a>
                        <div>文章目录PyMongo数据库连接数据库管理集合管理文档管理添加文档删除文档更新文档查询文档在python当中,一般常用于开发中操作monoDB的模块无非三个:pymongo,mongoengine(相当于mysql中的sqlalchemy),motermoter是python中基于pymongo实现的异步操作库,类似于aiomysql,aiomysql也是python基于pymysql实现的异步库</div>
                    </li>
                    <li><a href="/article/1899849585371705344.htm"
                           title="python操作MongoDB" target="_blank">python操作MongoDB</a>
                        <span class="text-muted">DingYuan101</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>(一)安装PythonMongoDB驱动程序安装MongoDB驱动(在Python中使用MongoDB之前必须先安装用于访问数据库的驱动程序)pipinstallpymongo-ihttps://pypi.tuna.tsinghua.edu.cn/simple(二)检查驱动在python交互模式下导入pymongo,检查驱动是否已正确安装:importpymongo(三)创建连接(连接到Mongo</div>
                    </li>
                    <li><a href="/article/1899840892810883072.htm"
                           title="有关MyBatis的缓存(一级缓存和二级缓存)" target="_blank">有关MyBatis的缓存(一级缓存和二级缓存)</a>
                        <span class="text-muted">爱学习的小王!</span>
<a class="tag" taget="_blank" href="/search/MyBatis/1.htm">MyBatis</a><a class="tag" taget="_blank" href="/search/mybatis/1.htm">mybatis</a><a class="tag" taget="_blank" href="/search/%E7%BC%93%E5%AD%98/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/%E7%AC%94%E8%AE%B0/1.htm">笔记</a>
                        <div>1.MyBatis缓存缓存可以将数据保存在内存中,是互联网系统常常用到的。目前流行的缓存服务器有MongoDB、Redis、Ehcache等。缓存是在计算机内存上保存的数据,读取时无需再从磁盘读入,因此具备快速读取和使用的特点。和大多数持久化框架一样,MyBatis提供了一级缓存和二级缓存的支持。默认情况下,MyBatis只开启一级缓存。1.1一级缓存一级缓存是基于PerpetualCache(M</div>
                    </li>
                    <li><a href="/article/1899725673447092224.htm"
                           title="Express + MongoDB 实现登录验证码" target="_blank">Express + MongoDB 实现登录验证码</a>
                        <span class="text-muted">yqcoder</span>
<a class="tag" taget="_blank" href="/search/express/1.htm">express</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>使用svg-captcha生成SVG格式验证码,express-session存储验证码一、安装依赖npminstallsvg-captchaexpress-session二、核心代码示例constsvgCaptcha=require("svg-captcha");constsession=require("express-session");//配置会话中间件app.use(session({s</div>
                    </li>
                    <li><a href="/article/1899724791061999616.htm"
                           title="《Python全栈开发》第1课:认识全栈开发与Web工作原理" target="_blank">《Python全栈开发》第1课:认识全栈开发与Web工作原理</a>
                        <span class="text-muted">程序员没睡醒</span>
<a class="tag" taget="_blank" href="/search/Python%E5%85%A8%E6%A0%88/1.htm">Python全栈</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/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.1餐厅后厨vs餐厅前厅顾客服务员点单厨师做菜传菜员送餐1.2对应到Web开发:餐厅角色Web开发对应关键技术服务员前端开发HTML/CSS/JavaScript厨师后端开发Python/Java/PHP传菜员数据库MySQL/MongoDB店长全栈工程师掌握所有环节二、网</div>
                    </li>
                    <li><a href="/article/1899715461671612416.htm"
                           title="【鸿蒙开发】MongoDB入门" target="_blank">【鸿蒙开发】MongoDB入门</a>
                        <span class="text-muted">牧歌悠悠</span>
<a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91/1.htm">开发</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/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>https://www.mongodb.com/try/download/community下载MongoDB:varmongoose=require("mongoose");//localhost域名,代表本机//127.0.0.1ip,代码本机mongoose.connect("mongodb://localhost:27017/jiaju").then(()=>{console.log("数</div>
                    </li>
                    <li><a href="/article/1899711806897713152.htm"
                           title="MySQL 与 MongoDB 的区别" target="_blank">MySQL 与 MongoDB 的区别</a>
                        <span class="text-muted">kse_music</span>
<a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/DB/1.htm">DB</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</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>文章目录前言一、如何选择二、索引总结前言在当今数据驱动的世界中,数据库技术扮演着至关重要的角色,它们为应用程序提供了存储、管理和检索数据的基础设施。MySQL和MongoDB作为两种广泛使用的数据库管理系统,分别代表了关系型数据库(SQL)和非关系型数据库(NoSQL)的典型范例。MySQL是一种成熟的关系型数据库管理系统(RDBMS),自1995年问世以来,凭借其稳定性、可靠性和易用性,成为了许</div>
                    </li>
                    <li><a href="/article/1899703365953187840.htm"
                           title="【存储中间件】MongoDB最热门NoSql数据库(一):NoSQL、MongoDB介绍" target="_blank">【存储中间件】MongoDB最热门NoSql数据库(一):NoSQL、MongoDB介绍</a>
                        <span class="text-muted">道友老李</span>
<a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84%E5%B8%88%E8%BF%9B%E9%98%B6-%E5%AD%98%E5%82%A8%E4%B8%AD%E9%97%B4%E4%BB%B6/1.htm">架构师进阶-存储中间件</a><a class="tag" taget="_blank" href="/search/nosql/1.htm">nosql</a><a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a><a class="tag" taget="_blank" href="/search/%E4%B8%AD%E9%97%B4%E4%BB%B6/1.htm">中间件</a>
                        <div>文章目录1.MongoDb综述1.1.什么是Nosql1.2.什么是MongoDb**1.2.1核心特性****1.2.2典型应用场景****1.2.3与关系型数据库对比****1.2.4局限性及使用建议**个人主页:道友老李欢迎加入社区:道友老李的学习社区1.MongoDb综述1.1.什么是NosqlNoSQL(NotOnlySQL)是一类非关系型数据库的统称,其核心特征在于突破传统关系型数据库</div>
                    </li>
                    <li><a href="/article/1899268163011407872.htm"
                           title="mongodb自动分片" target="_blank">mongodb自动分片</a>
                        <span class="text-muted">Tgor</span>
<a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a>
                        <div>mongodb自动分片标签(空格分隔):Mongodb操作步骤1、config配置库启动:mongodb--dbpath=D:\Data\dbs\shard\config--port22222、mongos指定config库启动:mongos--port3333--configdb=morton:22223、mongod分片库1启动:mongod--dbpath=D:\Data\dbs\shard</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>