NOSQL Mongo入门学习笔记 - 数据的基本插入(二)

  成功运行起来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()

 

  

posted @ 2015-06-03 17:42  HumpSmart  阅读(935)  评论(0编辑  收藏  举报