首先是启动 mongdb的service ,不启用的话,使用mong shell 连接的现象是:



启动服务端,指定默认的存储的位置即可:

mongod  -- dbpath  F:/store  #数据库默认的存储的位置

在启动一个“黑框框”, 当为客户端来连接启动的这个server

连接到mong server ,并且在service的黑框框中会显示,客户端的连接



下面就是mongo shell 对数据库的操作了

     


表示同一张表中,存储的数据并不是结构化的数据,能够带来很多的好处,但是也可能带来一定的混乱,所以针对
这个,mongdb的数据有一定 的设计的规范,后面可定会有涉及。

在说一下上面的命令,我们的使用命令  db.notify.insert({........});

When you insert the first document, the mongdb will
create both the notify  database and the notify collection
(这里 数据库的名称 和 collection 的名称是一样的)
这里面的collection相当于 sql数据中的表,collection中包含的就是Document,下面是对document的说明:

MongoDB stores data in the form of documents, which are JSON-like
field and value pairs. Documents are analogous to structures in
programming languages that associate keys with values (e.g.
dictionaries, hashes, maps, and associative arrays). Formally, MongoDB
documents are BSON documents. BSON is a binary representation
of JSON with additional type information. In the documents, the
value of a field can be any of the BSON data types, including other
documents, arrays, and arrays of documents.

collection 和 Document 的关系如图所示:MongoDB stores all documents in collections. A
collection is a group of related documents that have a set of shared
common indexes. Collections are analogous to a table in relational
databases.



mongo 的查找: 也就是选择document 从单一的collection里面,就是从一张表中选择记录,符合SQL的思路。



查找的过程 与SQL查找的对应的关系:


find 操作的说明:
  • All queries in MongoDB address a single collection.
  • You can modify the query to impose limits,
    skips, and sort orders.
  • The order of documents returned by a query is not defined unless you
    specify a sort().
  • Operations that modify existing documents (i.e. updates) use the same query
    syntax as queries to select documents to update.
  • In aggregation pipeline, the
    $match pipeline stage provides access to MongoDB
    queries.


  • 索引:提高查找的速度
    db.inventory.find( { type: typeValue } );
    针对Collection inventory 的字段 type 建立索引。
    db.inventory.ensureIndex( { type: 1 } )
    建立索引的语句是:db.collection.ensureIndex(keys, options)
    在这里我们可以通过:db.collection.find({。。。条件。。。}).explain();
    来看到输出的结果,分析读取的效率



    只是简单的描述,感觉和Mysql的explain()比较的像。


    聚合:(aggregation) : In addition to the basic queries, MongoDB provides several data
    aggregation features
    . For example, MongoDB can return counts of the
    number of documents that match a query, or return the number of
    distinct values for a field, or process a collection of documents using
    a versatile stage-based data processing pipeline or map-reduce
    operations.































    mongDB 的使用的更多相关文章

    1. solr+mongo-connector+mongdb+tomcat集成

      话题:solr安装 一.下载solr 本例采用4.10.3版本. Solr所有版本下载地址:http://archive.apache.org/dist/lucene/solr/ 下载完成后,解压的目 ...

    2. [MongDB] 主从架构--官方极力不推荐

      一.缘由: 看着数据库大家庭都有主从模式,想着Mongodb应该也不会落下.但从官网看来,先是早先舍弃了Master-Master模式,现在又在不推荐 Master-Slave模式,这是要标新立异呀. ...

    3. MongDB/C# 杂项

      1.MongDB的时间类型字段输出时为UTC的解决方法:保存到数据库中的数据还是按UTC存的,读出来的就按标识值读 [BsonDateTimeOptions(Kind = DateTimeKind.L ...

    4. HBase与MongDB等NoSQL数据库对照

      HBase概念学习(十)HBase与MongDB等NoSQL数据库对照 转载请注明出处: jiq•钦's technical Blog - 季义钦 一.开篇 淘宝之前使用的存储层架构一直是MySQL数 ...

    5. go语言mongdb管道使用

      原始json: { "listsn": "", "code": "fwq_add", "detail" ...

    6. HBase概念学习(十)HBase与MongDB等NoSQL数据库对照

      转载请注明出处: jiq•钦's technical Blog - 季义钦 一.开篇 淘宝之前使用的存储层架构一直是MySQL数据库,配合以MongDB,Tair等存储. MySQL因为开源,而且生态 ...

    7. mongdb创建自增主键(primary key)的相关讨论 - Jason.Zhi

      根据mongodb官方文档介绍,如果在插入(insert)操作时,没有指定主键id,那么它会自动给插入行自动附上一个主键id.看起来不错,但是详细看看,就会发现这个id值有点复杂. 如下图: mong ...

    8. mongdb Java demo

      接触MONGDB,感觉用起来还挺好.今天做了一个小demo. 一.启动mongdb的服务

    9. springMVC+ mongdb + redis +Jedis 环境搭建

      环境信息: JDK1.7 : Eclipse 4.4.1 ; mongdb + mongVUE:mongDB的安装 redis的下载和安装:window下安装redis maven3.0.5 新建ma ...

    随机推荐

    1. Java基础知识强化18:抽象类、接口的区别 和 选择性实现接口方法

      1.抽象类和接口的区别 抽象类里面可以有非抽象的方法(可以没有抽象方法),接口里只能有抽象方法. 抽象类中的抽象方法声明时不能有大括号,而接口中的所有方法都没有大括号.  抽象类(abstract c ...

    2. Android Studio中关于Project与Module

      在Android Studio中一个Project和Eclipse中的WorkSpace是相似的,而一个Module与Eclipse中的Project是相似的(大致可以这么的认为) 若在Android ...

    3. android开发中的5种存储数据方式

      数据存储在开发中是使用最频繁的,根据不同的情况选择不同的存储数据方式对于提高开发效率很有帮助.下面笔者在主要介绍Android平台中实现数据存储的5种方式. 1.使用SharedPreferences ...

    4. Android开发手记(15) 拨打电话和收发短信

      1.Intent简介 Android组价之间的通信,由Intent来协助完成.Intent负责对应用中一次操作的动作.动作涉及数据.附加数据进行描述,Android则根据此Intent的描述,负责找到 ...

    5. xmpp发送文件

      xmpp 文件传输协议: XEP-0096: SI File Transfer:文件传输流初始化协议 XEP-0065: SOCKS5 Bytestreams:带外socks5代理字节流传输协议 XE ...

    6. 在fragment中获取他附着的activity中的变量

      final String data=(关联的activity类)getActivity().getData(); getData();自定义的方法

    7. 织梦dedecms网站六大SEO优化技巧(转帖)

      一个排名好的网站离不开好的cms,当然不同cms各有各的好处,因此我们在上线新网站的时候,要针对不同的情况因地制宜,选择不同的网站管理系统来做seo优化,现在使用比较流行的cms是织梦dedecms, ...

    8. C# ,asp.net 获取当前,相对,绝对路径(转)

      C# ,asp.net 获取当前,相对,绝对路径 一.C#获取当前路径的方法: . System.Diagnostics.Process.GetCurrentProcess().MainModule. ...

    9. table表格cellspacing与cellpadding属性

      cellspacing属性 用来指定表格各单元格之间的空隙. cellpadding属性 用来指定单元格内容与单元格边界之间的空白距离的大小. 此属性的参数值也是数字,表示单元格内容与上下边界之间空白 ...

    10. a便签 rel属性改变链接打开页面的方式

      <body> XHTML: <a href="http://www.baidu.com" rel="external">Baidu &l ...