mogoDB的安装
来源:互联网 发布:java 积分商城 编辑:程序博客网 时间:2024/05/29 15:45
windows下的安装
参考地址:http://www.cnblogs.com/mecity/archive/2011/06/11/2078527.html
安装结束:把mongoDB作为windows服务命令:
mongod --logpath "c:\Program Files\mongodb\data\log"\mongodb.log --logappend --dbpath "c:\Program Files\mongodb\data\db" --directoryperdb --serviceName MongoDB --install
结果如下:
我哭:我的版本不行
只能先这样启动了:
cd 到mongo的bin目录下:
启动数据库:mongod --dbpath "c:\Program Files\mongodb\data\db" --这里写错了fuck!!下面的正确。。。
启动数据库:mongod --dbpath "c:\Program Files\mongodb\data"
1、正常启动
【mongod--dbpath /usr/mongo/data --logfile /var/mongo.log】
说明:
指定数据存储目录和日志目录,如果采用安全认证模式,需要加上--auth选项,如:
mongod --auth --dbpath /usr/mongo/data --logfile/var/mongo.log
2、以修复模式启动
mongod --repair
以修复模式启动数据库。
实际很可能数据库数据损坏或数据状态不一致,导致无法正常启动MongoDB服务器,根据启动信息可以看到需要进行修复。或者执行:
mongod -f /etc/mongodb.conf --repair
启动客户端:
新开一个窗口:也是cd到bin目录:
启动客户端:mongo.exe
终止服务器进程(在客户端进行)
db.shutdownServer()
linux下安装mongo
一、下载mongo包
MongoDB提供了linux平台上32位和64位的安装包,你可以在官网下载安装包。
下载地址:http://www.mongodb.org/downloads
二、建立需要的目录结构:必须在根目录下建立三、安装
下载完成后,在你安装的目录下解压zip包。
四、启动mongo服务端:mongod命令
五、启动客户端:mongo命令
============================================================================
启动报错:一般原因是上一次不正确关闭mongo导致:
Mongo非法关闭启动失败解决方法:
1、删除%MONGO_HOME%/data下的.lock文件
data/db目录下也有个lock文件一并删除了就好了
2、输入命令 mongod --repair
3、重启mongoDB
写的比较好的总结:推荐下:http://www.blogs168.com/article/503.aspx
MongoDb基本命令:
首先推荐个写的很好的:http://blog.csdn.net/shirdrn/article/details/7105539:
1、showdbs
显示当前数据库服务器上的数据库
2、use pagedb
切换到指定数据库pagedb的上下文,可以在此上下文中管理pagedb数据库以及其中的集合等
3、show collections(原先的show tables,查看所有表)
显示数据库中所有的集合(collection)
4、db.serverStatus()
查看数据库服务器的状态。示例如下所示:
5、查询指定数据库统计信息
use fragment
db.stats()
6、查询指定数据库包含的集合名称列表
db.getCollectionNames()//获取所有的表名称
["posts", "sessions", "system.indexes","users" ]
二)基本DDL和DML
1、创建数据库
如果你习惯了关系型数据库,你可能会寻找相关的创建数据库的命令。在MongoDB中,你可以直接通过use dbname来切换到这个数据库上下文下面,系统会自动延迟创建该数据库
- > show dbs
- admin 0.03125GB
- local (empty)
- pagedb 0.03125GB
- test 0.03125GB
- > use LuceneIndexDB
- switched to db LuceneIndexDB
- > show dbs
- admin 0.03125GB
- local (empty)
- pagedb 0.03125GB
- test 0.03125GB
- > db
- LuceneIndexDB
- > db.lixlTable.save({'userName':'lixl','company':'test'});
- 建表的第一种方式:db.表名.save('字段1':'值1','字段2':'值2');//直接插入值
- > show dbs
- lixlTable 0.03125GB
- admin 0.03125GB
- local (empty)
- pagedb 0.03125GB
- test 0.03125GB
- >
2、删除数据库
直接使用db.dropDatabase()即可删除数据库。直接删除当前use的db
> show dbs;
lixl 0.0625GB
local 0.03125GB
microblog 0.0625GB
> db.dropDatabase();
{ "dropped" : "lixl", "ok" : 1 }
3、创建集合//其实就是创建表
可以使用命令db.createCollection(name,{ size : ..., capped : ..., max : ... } )创建集合,示例如下所示:
[plain] viewplaincopy
1. > db.createCollection('lixlTable2',{'userName':'linan'});
建表的第二种方式:db.createCollection('表名',{'capped':true, 'size':10240, 'max':17855200})//只是建立表没有插入值
后面的这三个参数名称是固定的,但是可以没有:
capped:
size:大小
max:最大值
可以直接写db.createCollection('表名');
2. { "ok" : 1 }
3. > show collections
4. lixlTable2
5. storeCollection
6. system.indexes
4、删除集合
删除集合,可以执行db.mycoll.drop()。
5、插入更新记录
直接使用集合的save方法,如下所示:
db.lixlTable2.save({ "type" : "google", "os" : "chrom", "address" : "california"})
更新记录,使用save会将原来的记录值进行覆盖实现记录更新。
6、查询一条记录
使用findOne()函数,参数为查询条件,可选,系统会随机查询获取到满足条件的一条记录(如果存在查询结果数量大于等于1)示例如下所示:
db.lixlTable2.findOne({'address':'california'});
{
"_id" : ObjectId("52b1beefda6a86cb17c990c6"),
"type" : "google",
"os" : "chrom",
"address" : "california"
}
7、查询多条记录
使用find()函数,参数指定查询条件,不指定条件则查询全部记录。
> db.lixlTable2.find({'address':'california'});
{ "_id" : ObjectId("52b1beefda6a86cb17c990c6"), "type" : "google", "os" : "chrom
", "address" : "california" }
{ "_id" : ObjectId("52b1bf0bda6a86cb17c990c7"), "type" : "google", "os" : "chrom
", "address" : "california" }
>
8、删除记录
使用集合的remove()方法,参数指定为查询条件,示例如下所示:
a.根据条件删除:
db.lixlTable2.remove({'name':'lixl'})
b.全部删除:
db.lixlTable2.remove()
9、创建索引
可以使用集合的ensureIndex(keypattern[,options])方法,示例如下所示:
> use pagedb
switched to dbpagedb
>db.page.ensureIndex({'title':1, 'url':-1})
>db.system.indexes.find()
{ "name": "_id_", "ns" : "pagedb.page", "key" :{ "_id" : 1 }, "v" : 0 }
{ "name": "_id_", "ns" : "pagedb.system.users","key" : { "_id" : 1 }, "v" : 0}
{ "_id": ObjectId("4ef977633c1fc4613425accd"), "ns" :"pagedb.page", "key" : {"title" : 1,"url" : -1 }, "name" : "title_1_url_-1","v" : 0 }
10、查询索引
我们为集合建立的索引,那么可以通过集合的getIndexes()方法实现查询,示例如下所示:
[plain] viewplaincopy
1. > db.page.getIndexes()
2. [
3. {
4. "name" : "_id_", t3223
5. "ns" : "pagedb.page",
6. "key" : {
7. "_id" : 1
8. },
9. "v" : 0
10. },
11. {
12. "_id" : ObjectId("4ef977633c1fc4613425accd"),
13. "ns" : "pagedb.page",
14. "key" : {
15. "title" : 1,
16. "url" : -1
17. },
18. "name" : "title_1_url_-1",
19. "v" : 0
20. }
21. ]
当然,如果需要查询系统中全部的索引,可以使用db.system.indexes.find()函数。
11、删除索引
删除索引给出了两个方法:
[plain] viewplaincopy
1. db.mycoll.dropIndex(name)
2. db.mycoll.dropIndexes()
第一个通过指定索引名称,第二个删除指定集合的全部索引。
13、统计集合记录数
use fragment
db.baseSe.count()
统计结果,如下所示:
[plain] viewplaincopy
1. > use fragment
2. switched to db fragment
3. > db.baseSe.count()
4. 36749
上述统计了数据库fragment的baseSe集合中记录数。
=========================================================
mongoDB特点:
如果插入这样三个对象则,
{
"_id" : ObjectId("52b1bbd792ba3c19705afe4b"),
"name" : "lixl",
"address" : "bj"
}
/* 1 */
{
"_id" : ObjectId("52b1bc6d92ba3c19705afe4c"),
"type" : "apple",
"os" : "ios",
"company" : "apple"
}
/* 2 */
{
"_id" : ObjectId("52b1bceb92ba3c19705afe4d"),
"type" : "windows",
"os" : "windows",
"address" : "seattle"
}
数据库是这样的:
也就是说,如果插入的json数据,有不同的列则,这些列会取并集。
- mogoDB的安装
- 有关Mogodb的安装与学习
- 《 13. 我的linux虚拟机 之 安装 mogodb 》
- mogodb的模糊搜索
- mogodb
- mogodb
- mogodb
- mogodb
- mogodb
- phalcon wamp sever 3.06 安装 phalcon 和 mogodb 扩展遇到的坑
- mogodb安装启动及简单使用命令
- mogodb 介绍(一)----安装及配置
- 在window下安装mogodb数据库
- springmvc里面的mogoDB的配置操作
- mogodb 的自定义函数定义及引用
- 采用MogoDB生成ID的策略
- java对mogodb的查询实例
- mogodb的使用及自制工具类
- 使用MAVEN搭建SSH框架一 搭建struts2 二
- php模糊搜索(SQL语句查询的时候控制)
- uva 307 Sticks
- eclipse使用Maven插件创建一个web project
- 改变命运的早上三分钟 之 二
- mogoDB的安装
- Android Media Server - MediaPlayer - setDataSource
- ubuntu文本模式/终端中文乱码解决
- tcp状态转移图
- 记住:你应该努力去追求幸福
- Android Media Server - MediaPlayer - setDisplay
- 黑马程序员_函数和数组
- pg:pager标签
- Android Media Server - MediaPlayer - prepare - 01