日期:2014-05-16  浏览次数:20460 次

MongoDB学习总结--入门篇

一、MongoDB简介

?

??????MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSql数据库中比较热门的一种。它在许多场景下可

?

用于替代传统的关系型数据库或键/值存储方式。Mongo使用C++开发。

?

Mongo的官方网站地址是http://www.mongodb.org/,读者可以在此获得更详细的信息。

?

二、MongoDB安装与配置

?

????? 第一步:下载安装包-->MongoDb官方下载地址:http://www.mongodb.org/downloads ,如果是win系统,

?

注意是64位还是32位版本的,请选择正确的版本。

?

????? 第二步:可以在任意磁盘新建目录,如“F:\MongoDB”,解压下载到的安装包,找到bin目录下面全部.exe文件,拷

?

贝到刚创建的目录下。

?

????? 第三步:在“F:\MongoDB”目录下新建“data”文件夹,在其文件夹下新建db文件夹,它将会作为数据存放的根文

?

件夹,新建“logs ”件夹,在其文件夹新建“mongodb.log”文件存在日志信息。

?

????? 第四步:配置MongoDb客户端,打开CMD窗口,按照图示输入命令:



?

?????? 如图显示MongoDB数据库服务已经成功启动了,在浏览器输入:http://localhost:27017/,可以看到如下提示:

You are trying to access MongoDB on the native driver port. For http diagnostic access, add 
1000 to the port number。

?

三、MongoDB Shell Operations?

?

????? shell命令操作语法和JavaScript很类似,其实控制台底层的查询语句都是用JavaScript脚本完成操作的。

?

Help

> help                          // top level help
> db.help()                     // help on db-specific methods
> db.mycollection.help()        // help on collection methods
> db.mycollection.find().help() // cursor help

Select Database

The following are three basic commands that provide information about the available databases, and collections in a given database.

> show dbs //displays all the databases on the server you are connected to
> use db_name //switches to db_name on the same server
> show collections ?????? //displays a list of all the collections in the current database

Querying

mongo uses a JavaScript API to interact with the database. Because mongo is also a complete JavaScript shell, db is the variable that is the current database connection.

To query a collection, you simply specify the collection name as a property of the db object, and then call the find() method. For example:

> db.foo.find();

This will display the first 10 objects from the foo collection. Typing it after a find() will display the next 10 subsequent objects.

??? By setting the shellBatchSize you can change this:
> DBQuery.shellBatchSize = #
??? If the shell does not accept the collection name (for example if it starts with a number