文档章节

Ubuntu安装MongoDB以及CRUD

cyper
 cyper
发布于 2014/05/04 14:23
字数 620
阅读 140
收藏 4

看这里:http://my.oschina.net/sunhaojava/blog/208408

以下是从MongoDB in Action摘录的.

http://www.mongodb.org/downloads
找到最新版本的下载路径

使用工具或curl下载(绿色,解压即可使用)

sudo mkdir /opt/mongodb/
cd /opt/mongodb
curl http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.6.0.tg
tar -xzvf mongodb-linux-x86_64-2.6.0.tgz
sudo mkdir -p /data/db/
sudo chown `id -u` /data/db
cd mongodb-linux-x86_64-2.6.0/bin
./mongod
shell会优先执行``倒引号中的命令,id -u是打印出当前用户的user id,比如我的是1000, chown将/data/db目录owner属性改成当前用户。
mongod启动时可以带一些参数
--dbpath(默认为/data/db)
--logpath(默认为stdout)
--port(默认为27017)
--rest(在port+1000的端口上启动web console方便管理数据库)
--fork(以daemon的方式启动)

比如

mongod --dbpath /data/db --logpath /var/log/mongodb.log --port 27017 --rest --fork


或者,可以新建一个conf文件,将以上参数写在文件中

#file mongodb.conf
dbpath=/var/local/mongodb
logpath=/var/log/mongodb.log
port=27017
rest=true
fork=true

此时使用如下命令启动

mongod -f mongodb.conf
进入mongo提示符:
/opt/mongodb/mongodb-linux-x86_64-2.6.0/bin/mongo

建议:alias mongo='/opt/mongodb/mongodb-linux-x86_64-2.6.0/bin/mongo'
查看启动时到底用了哪些参数

> use admin
switched to db admin
> db.runCommand({getCmdLineOpts:1})
{
	"argv" : [
		"./mongod",
		"--dbpath",
		"/data/db",
		"--logpath",
		"/var/log/mongodb.log",
		"--port",
		"27017",
		"--rest",
		"--fork"
	],
	"parsed" : {
		"net" : {
			"http" : {
				"RESTInterfaceEnabled" : true,
				"enabled" : true
			},
			"port" : 27017
		},
		"processManagement" : {
			"fork" : true
		},
		"storage" : {
			"dbPath" : "/data/db"
		},
		"systemLog" : {
			"destination" : "file",
			"path" : "/var/log/mongodb.log"
		}
	},
	"ok" : 1
}
>
或者直接通过http://localhost:28017/查看

参考 MongoDB in Action

CRUD
use tutorial --新建数据库if not exist
db.users.insert({username:"smith"}) --新建表users并插入1条记录
db.users.find() --select * from users
db.users.save({username:"jones"})
db.users.count()
db.users.find()
db.users.update({username:"smith"},{$set:{country:"Canada"}})
db.users.find({username:"smith"})
db.users.update({username:"smith"},{$unset:{country:1}})
> db.users.update({username:"smith"},
  {$set: {favorites:
  {
  cities:["Chicago","Cheyenne"],
  movies:["Casablanca","The Sting"]
  } } })

> db.users.update({username:"jones"},
  {$set:{favorites:
  {
    movies:["Casablanca","Rocky"]
  }  } })

db.users.find()

db.users.find({"favorites.movies":"Casablanca"})

> db.users.update({"favorites.movies":"Casablanca"},{$addToSet:{"favorites.movies":"The Maltese Falcon"}},false,true)
可以使用$addToSet或push,相当于java中的Set和List
第三个参数false暂且不看,第4个参数true表示这是一个多行更新

db.users.remove()  --相当于SQL中的delete或truncate
db.users.remove({"favorites.cities","Cheyenne"})
db.users.drop() 

向表numbers中插入20W条测试数据 

> for(i=0;i<200000;i++){
     db.numbers.save({num:i});
  }

> db.numbers.count()
200000
> db.numbers.find()
{ "_id" : ObjectId("5365f05f12c5c68a17fee98d"), "num" : 0 }
{ "_id" : ObjectId("5365f05f12c5c68a17fee98e"), "num" : 1 }
{ "_id" : ObjectId("5365f05f12c5c68a17fee98f"), "num" : 2 }
...
{ "_id" : ObjectId("5365f05f12c5c68a17fee99f"), "num" : 18 }
{ "_id" : ObjectId("5365f05f12c5c68a17fee9a0"), "num" : 19 }
Type "it" for more
> db.numbers.find({num:500})
{ "_id" : ObjectId("5365f06012c5c68a17feeb81"), "num" : 500 }
> db.numbers.find({num:{"$gt",199995}})
2014-05-04T16:16:04.725+0800 SyntaxError: Unexpected token ,
> db.numbers.find({num:{"$gt":199995}})
{ "_id" : ObjectId("5365f0f012c5c68a1701f6c9"), "num" : 199996 }
{ "_id" : ObjectId("5365f0f012c5c68a1701f6ca"), "num" : 199997 }
{ "_id" : ObjectId("5365f0f012c5c68a1701f6cb"), "num" : 199998 }
{ "_id" : ObjectId("5365f0f012c5c68a1701f6cc"), "num" : 199999 }
> db.numbers.find({num:{"$gt":20,"$lt":25}})
{ "_id" : ObjectId("5365f05f12c5c68a17fee9a2"), "num" : 21 }
{ "_id" : ObjectId("5365f05f12c5c68a17fee9a3"), "num" : 22 }
{ "_id" : ObjectId("5365f05f12c5c68a17fee9a4"), "num" : 23 }
{ "_id" : ObjectId("5365f05f12c5c68a17fee9a5"), "num" : 24 }
>

© 著作权归作者所有

共有 人打赏支持
上一篇: C笔记
cyper

cyper

粉丝 59
博文 685
码字总数 143295
作品 0
武汉
前端工程师
私信 提问
如何在Ubuntu 18.04 LTS上安装和配置MongoDB

如何在Ubuntu 18.04 LTS上安装和配置MongoDB IMCN 18分钟前暂无评论 阅读 9 次 MongoDB是一款非关系型数据库,提供高性能,高可用性和自动扩展企业数据库。 MongoDB是一个非关系型数据库,因...

IMCN
2018/05/05
0
0
使用MongoDB和Spring Data创建一个简单的Java 的CRUD应用

MongoDB 是一个可扩展的、高性能的、开源的NoSQL数据库,跟传统的数据库不一样,MongoDB并不是将数据存储在表中,他将数据结构化为一个类似于JSON的文档中。这篇文章就是展示如何使用Java基于...

王振威
2012/07/21
8.3K
8
NoSQL数据库 -- MongoDB

终于下定决心在某东购买了《python核心编程(二)》和《鸟哥linux,基础 (三)》。感觉学习linux最开始还是在虚拟机里面比较好,所以安装了VirtualBox,并下载了Cent OS 7. 安装完Cent OS发现...

明天以后
2014/09/12
0
0
如何在Ubuntu 12.04上安装MongoDB?

在Ubuntu 12.04上安装MongoDB MongoDB是现代网络应用程序中普遍使用的一个文档数据库。这个指南会帮助你设置一个虚拟专用服务器,作为一个专用的MongoDB服务器,以提供生产应用程序的环境。 ...

samday
2014/04/09
0
0
如何在Ubuntu上开启MongoDB的IP Security

MongoDB3.6的默认配置会拒绝未授权的链接对公共网络的访问,从而保护数据收到外部威胁。MongoDB只会监听本地链接,除非添加规则允许监听其他地址。本教程会简明的展示如何允许外部IP地址连接...

linux-tao
2018/06/05
0
0

没有更多内容

加载失败,请刷新页面

加载更多

spring aop学习

1.aop和spring aop的关系? aop是一种思想,spring aop是aop的一种实现。 2.Spring aop和AspectJ的关系? 这两种都是实现aop的,spring借助AspectJ的语法实现aop的功能 3.@AspectJ support和...

llsydn
34分钟前
3
0
OSChina 周六乱弹 —— 世界的源代码

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @小鱼丁 :#今日歌曲推荐# 分享Jason Mraz的单曲《Prettiest Friend (Demo)》: 《Prettiest Friend (Demo)》- Jason Mraz 手机党少年们想听歌...

小小编辑
今天
221
9
java框架学习日志-13(Mybatis基本概念和简单的例子)

在mybatis初次学习Mybatis的时候,遇到了很多问题,虽然阿里云的视频有教学,但是视频教学所使用的软件和我自己使用的软件不用,我自己用的数据库是oracle数据库,开发环境是idea。而且视频中...

白话
今天
14
0
Java基础:String、StringBuffer和StringBuilder的区别

1 String String:字符串常量,字符串长度不可变。Java中String是immutable(不可变)的。 String类的包含如下定义: /** The value is used for character storage. */private final cha...

watermelon11
今天
6
0
mogodb服务

部署MongoDB 官网: https://www.mongodb.com/download-center/community 创建mongo数据目录 mkdir /data/mongodb 二进制部署 wget -c https://fastdl.mongodb.org/linux/mongodb-linux-x8......

以谁为师
昨天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部