首先是启动 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. TabBarController创建及使用方法简介

      TabBarController创建及使用方法简介 大致讲解一下TabBarController的创建过程: 首先,我们需要一些视图,如创建UIControllerView类型的view1,view2 ...

    2. 案例:利用累加器计算前N个学生的总成绩和平均成绩

      /* *录入N个学生的成绩,并求出这些学生的总成绩和平均成绩! * */ import java.util.Scanner; public class SumTest{ public static v ...

    3. POJ 1011 sticks 搜索

      Sticks Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 125918   Accepted: 29372 Descrip ...

    4. C#—委托分析

      1.简单委托示例 using System; using System.Collections.Generic; using System.Linq; using System.Text; names ...

    5. 创建一个流(Stream)可以让Bitmap或Image保存到流里面(转)

      创建一个流(Stream)可以让Bitmap或Image使用save方法将已经在bitmap上生成的图像 保存到流里面?不需要直接在硬盘上生成文件 -------------------------- ...

    6. oracle批量转库工作,比较快捷的方式

      select 'create table '  || t.TABLE_NAME ||  ' as select * from ODS_ZMGLXT.'|| t.TABLE_NAME ||'; ' fr ...

    7. Oracle处理特殊字符

      检查数据库级的参数设置 select * from nls_database_parameters;

    8. Qt之QCustomPlot绘图(一)配置和第一个例子

      最近一个用Qt开发的项目需要绘制坐标曲线,我在老师的指点下使用了QCustomPlot这个插件,使用方法简单,功能还算不错. 可是在网上找了很多资料和博文都只是将官方提供的例子演示一遍,没有系统全面的 ...

    9. C#防SQL注入代码的实现方法

      对于网站的安全性,是每个网站开发者和运营者最关心的问题.网站一旦出现漏洞,那势必将造成很大的损失.为了提高网站的安全性,首先网站要防注入,最重要的是服务器的安全设施要做到位. 下面说下网站防注入的几点 ...

    10. ‘for’ loop initial declarations are only allowed in C99 mode

      #include <stdio.h>int main(){ for(int i=0;i<10;i++){ printf("\n%d",i); } return 0 ...