成功运行起来mongo之后,进入了命令行模式,mongo默认会选择test数据库

1. 使用db命令打印出来当前选定的数据库:

  > db

  test

  

2. 使用show dbs 命令可以打印出数据库列表

  > show dbs

  local 0.078GB

3. 使用use [dbname] 可以切换数据库

  > use local

  switched to db local

  试着使用db命令打印一下确认是不是在local数据库:

  > db

  local

  使用use 命令的时候 即使是use [anydb] 也可以切换数据库,即便这样,只要没有向库内插入数据,该数据库是不会创建的。可以使用show dbs查看哦

4. 直到现在我仍在是在探寻安装使用问题,没有向数据库中写入任何数据,接下来,慢慢揭开它的面纱。

  mongo没有数据表,这个称之为集合,一组数据即使一个集合. 集合不需要显示的创建。官方说使用的是 dynamic schemas ,也不需要插入数据之前定义 文档的结构。

  切换一个新的数据库

    use mydb

  创建两个已j和k命令的文档:

    j = {name : "test"}

    k = {x:3}

  插入到集合中

    db.test.insert(j)

    db.test.insert(k)

  注意到第二次执行明显比第一次要快得多,因为第一次插入的时候会对数据库与集合进行初始化。

  插入第一个文档的时候,mongo会同时创建mydb数据库和test集合。

  

  验证一下集合是存在的

    > show collections

    system.indexes

    test

  所有的数据库都会包含一个system.indexes集合

3. 循环遍历数据

  在mongo shell下可以使用循环来遍历数据

    var c = db.test.find()  //得到游标

    while( c.hasNext() ) printjson( c.next())  //打印数据

  这样会把集合内数据打印出来,但是注意的是,mongo默认的只显示20条数据

  在获取数据之后可以输入it可以获取以下20条数据

  在得到c对象的时候,也可以使用下标来对数据进行读取

    printjson( c[2] )

  find()不仅仅可以用来获取集合对象,也可以进行类似sql select 的查找

    > db.test.find({x:3})

    { "_id" : ObjectId("556ec46ee82c862a1abf7913"), "x" : 3 }

  使用limit()限制查询数量

    > db.test.find().limit(3)  //返回三条集合

    > db.test.find({x:3}).limit(3)  //返回三条符合条件的集合数据  

4. 在mongo脚本中可以使用javascript脚本循环到集合中

    > for(var i =1; i<= 10; i++) db.test.insert({x:i})

  使用find()查看

    > db.test.find()

  

NOSQL Mongo入门学习笔记 - 数据的基本插入(二)的更多相关文章

  1. NOSQL Mongo入门学习笔记 - C++连接Mongodb(三)

    OS环境: Centos 7.1 release X86_64 编译环境: G++ 4.8.3 已经成功搭建好了Mongodb,也初步在命令行中的查询与写入数据的基本方法,现在通过C++来连接Mong ...

  2. NOSQL Mongo入门学习笔记 - MongoDB的安装(一)

    手上的工作不是很忙,所以来学习学习很久就像接触的MongoDb,无奈前段时间工作时间都比较多.记录在这里供以后参考 环境: Centos 7 64位 开始: 1. 在官网下载Mongo : wget  ...

  3. Hadoop入门学习笔记---part3

    2015年元旦,好好学习,天天向上.良好的开端是成功的一半,任何学习都不能中断,只有坚持才会出结果.继续学习Hadoop.冰冻三尺,非一日之寒! 经过Hadoop的伪分布集群环境的搭建,基本对Hado ...

  4. PyQt4入门学习笔记(一)

    PyQt4入门学习笔记(一) 一直没有找到什么好的pyqt4的教程,偶然在google上搜到一篇不错的入门文档,翻译过来,留以后再复习. 原始链接如下: http://zetcode.com/gui/ ...

  5. Hadoop入门学习笔记---part1

    随着毕业设计的进行,大学四年正式进入尾声.任你玩四年的大学的最后一次作业最后在激烈的选题中尘埃落定.无论选择了怎样的选题,无论最后的结果是怎样的,对于大学里面的这最后一份作业,也希望自己能够尽心尽力, ...

  6. OpenCV入门学习笔记

    OpenCV入门学习笔记 参照OpenCV中文论坛相关文档(http://www.opencv.org.cn/) 一.简介 OpenCV(Open Source Computer Vision),开源 ...

  7. dubbo入门学习笔记之入门demo(基于普通maven项目)

    注:本笔记接dubbo入门学习笔记之环境准备继续记录; (四)开发服务提供者和消费者并让他们在启动时分别向注册中心注册和订阅服务 需求:订单服务中初始化订单功能需要调用用户服务的获取用户信息的接口(订 ...

  8. 汇编入门学习笔记 (七)—— dp,div,dup

    疯狂的暑假学习之  汇编入门学习笔记 (七)--  dp.div.dup 參考: <汇编语言> 王爽 第8章 1. bx.si.di.和 bp 8086CPU仅仅有4个寄存器能够用 &qu ...

  9. 汇编入门学习笔记 (九)—— call和ret

    疯狂的暑假学习之  汇编入门学习笔记 (九)--  call和ret 參考: <汇编语言> 王爽 第10章 call和ret都是转移指令. 1. ret和retf ret指令:用栈中的数据 ...

随机推荐

  1. pc端有弹出层 并有滚动的时候遇到的问题以及解决

    有时候页面会遇到这样一个问题,页面有个弹出层 ,弹出层是有动条的,当弹出层滚完的时候,后面的页面也会滚动,但是我们希望是后面的页面不滚动;代码如下 1:弹出层出现的时候设置 $('body').css ...

  2. asp.net连接oracle无法进行中文字符查询的问题

    用 select * from nls_database_parameters where parameter = 'NLS_CHARACTERSET' 查询服务器字符集为 AL32UTF8 数据库连 ...

  3. 核心概念 —— 契约(Contracts)

    1.简介 Laravel中的契约是指框架提供的一系列定义核心服务的接口. 例如 ,Illuminate\Contracts\Queue\Queue契约定义了队列任务需要实现的方法,Illuminate ...

  4. jQuery之对话框

    <!doctype html> <html> <head> <meta charset="utf-8"> <meta http ...

  5. VHD轻松实现双系统

    VHD 是微软虚拟磁盘文件.   VHD(Microsoft Virtual Hard Disk format). 目前可以使用Microsoft Virtual PC 2007 and Micros ...

  6. JDBC(用Eclipse操作数据库Oracle)的基础操作集合

    JDBC: JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编 ...

  7. iOS预处理指令

    预处理过程扫描源代码,对其进行初步的转换,产生新的源代码提供给编译器.可见预处理过程先于编译器对源代码进行处理. 预处理指令是以#开头的代码行,#后是指令关键字,在关键字和#号之间允许存在任意个数的空 ...

  8. Entity Framework 之三层架构

    今天,我们谈一下如何用Entity Framework构建一个三层架构.即包括DAL层,BLL层和MODEL层.我们先看一下目录结构,如下图: 目录中,我们有Web层,AVON.DMS.Model是实 ...

  9. Java流的正确关闭方式

    因为流是无论如何一定要关闭的,所以要写在finally里.如下: BufferedReader reader = null; try { reader = (BufferedReader) getRe ...

  10. hadoop下跑mapreduce程序报错

    mapreduce真的是门学问,遇到的问题逼着我把它从MRv1摸索到MRv2,从年前就牵挂在心里,连过年回家的旅途上都是心情凝重,今天终于在eclipse控制台看到了job completed suc ...