首页 >> 知识 >> MongoDBMongoDB入门(一)基本操作和常用命令

MongoDBMongoDB入门(一)基本操作和常用命令

MongoDB安装

1、下载安装(http://www.mongodb.org/downloads),安装目录:c:MongoDB 2、在 c:MongoDB下新建 datadb 目录 3、命令行运行服务端程序 mongod.exe: 代码语言:javascript复制C:>cd C:MongoDBinC:MongoDBin>mongod.exe --dbpath=C:MongoDBdatadb --directoryperdb --logpath=C:MongoDBdatalogs --logappend4、新建命令行,运行客户端程序 mongo.exe (不要关闭 mongod.exe 这个命令行窗口)MongoDB概念 databases: 数据库; collections:表;(colloections 组成了 databases) documents:行;(documents 组成了 collections)

MongoDB 没有新建数据库的命令,只要进行 insert 或其它操作,MongoDB 就会自动帮你建立数据库和 collection。当查询一个不存在的 collection 时也不会出错,Mongo 会认为那是一个空的 collection。

一个对象被插入到数据库中时,如果它没有 ID,会自动生成一个“_id”字段,为 12 字节(24位)16 进制数。 当然如果插入文档不带_id,则系统会帮你自动创建一个,如果自己指定了就用自己指定的。

命名

字段名限制:不能以“$”开头;不能包含“.”;“_id”是系统保留的字段,但用户可以自己储存唯一性的数据在字段中。

客户端语法: show dbs // 列出所有数据库 use memo // 使用数据库 memo。即使这个数据库不存在也可以执行,但该数据库不会立刻被新建,要等到执行了insert等的操作时,才会建立这个数据库。 show collections // 列出当前数据库的collections(当前数据库下的表) db // 显示当前数据库 show users // 列出用户 db.表名.insert({name:"jack",addr:"fujian"});//向表插入字段 db.表名.find(); //查询-作用相当于 select * from 表名 查询数据 $lt ->less then 小于 $lte ->less than and equal 不大于

-$lt ->less then 小于

$gt ->greater then 大于 $gte ->greater then and equal 不小于) $ne ->not equal 不等于 代码语言:javascript复制db.foo.find() // select * from foodb.foo.find().limit(10) // select * from foo limit 10db.foo.find().sort({x:1}) // select * from foo order by x asc 1:升序 -1:降序 db.foo.find().sort({x:1}).skip(5).limit(10) // select * from foo order by x asc limit 5, 10db.foo.find({x:10}) // select * from foo where x = 10db.foo.find({x: {$lt:10}}) // select * from foo where x > {

索引代码语言:javascript复制db.foo.ensureIndex({productid:1}) // 在productid上建立普通索引db.foo.ensureIndex({district:1, plate:1}) // 多字段索引db.foo.ensureIndex({productid:1}, {unique:true}) // 唯一索引备份与恢复(1)、备份工具 mongodump;

命令行执行:

代码语言:javascript复制c:MongoDBinmongodump.exe --help 查看帮助命令

示例-备份数据库:

命令行执行:

代码语言:javascript复制c:MongoDBinmongodump -o ../data/backup/test (备份数据到backuo/test目录下)(2)、恢复数据 mongorestore:

示例-恢复数据库:

命令行执行:

代码语言:javascript复制c:MongoDBinmongorestore -d test -c t002 c:MongoDBdataackup est 002.bson数据 导入& 导出

每次只导入导出一个表,json或csv格式;

(1)、导入 mongoimport

示例:

代码语言:javascript复制mongoimport -d test -c t004 drop c:MongoDBdataackup est_t001.json(2)、导出 mongoexport

示例:

代码语言:javascript复制mongoexport -d test -c t001 -o c:MongoDBdataackup est_t001.json安全与认证

MongoDB本身是没有开启安全性检查的,在开启之前,需要至少一个管理员账号。

开启安全性检查,只有数据库认证用户才能执行读或写的操作。

增加用户

注:V3版本mongoDB已经不再使用addUser,而是采用了db.createUser;

示例:

代码语言:javascript复制use admindb.createUser( { user: "accountUser", pwd: "password", roles: [ "readWrite", "dbAdmin" ] })对用户开启安全认证

1、重启客户端与服务器;

2、然后切换到客户端命令行:

代码语言:javascript复制use admindb.auth("root","root")这样,某种权限的用户只有切换到对应的数据库才能执行某些操作。参考

http://www.open-open.com/lib/view/open1335003001358.html

http://www.runoob.com/mongodb/mongodb-tutorial.html

网站地图