Ubuntu 12.04上安装 MongoDB并运行

时间:2024-01-01 23:01:15

Ubuntu 12.04上安装 MongoDB并运行

作者:凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/

在Terminal输入

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list
sudo apt-get update
sudo apt-get install mongodb-10gen

结果显示如下:

wrr@ubuntu:~$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
[sudo] password for wrr:
Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /tmp/tmp.vcN87sDcVF --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
gpg: requesting key 7F0CEB10 from hkp server keyserver.ubuntu.com
gpg: key 7F0CEB10: public key "Totally Legit Signing Key <mallory@example.org>" imported
gpg: key 7F0CEB10: public key "Richard Kreuter <richard@10gen.com>" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 2
gpg: imported: 2 (RSA: 2)
wrr@ubuntu:~$ echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /etc/apt/sources.list.d/mongodb.list
deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen
wrr@ubuntu:~$ sudo apt-get update
wrr@ubuntu:~$ sudo apt-get install mongodb-10gen

下载完成后,查看版本号

wrr@ubuntu:~$ mongo -version
MongoDB shell version: 2.4.14

如果不行,执行下面操作

wrr@ubuntu:~$ sudo rm /var/cache/apt/archives/lock
wrr@ubuntu:~$ sudo rm /var/lib/dpkg/lock
wrr@ubuntu:~$ sudo apt-get update

然后在查看版本号即可。以下命令为启动与关闭MongoDB。

sudo service mongodb start
sudo service mongodb stop

以下为启动MongoDB并进行简单操作。

wrr@ubuntu:~$ sudo service mongodb start
mongodb start/running, process 4004
wrr@ubuntu:~$ pgrep mongo -l
4004 mongod
wrr@ubuntu:~$ mongo
MongoDB shell version: 2.4.14
connecting to: test
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
http://docs.mongodb.org/
Questions? Try the support group
http://groups.google.com/group/mongodb-user
Server has startup warnings:
Wed Dec 19 13:11:44.276 [initandlisten]
Wed Dec 19 13:11:44.276 [initandlisten] ** NOTE: This is a 32 bit MongoDB binary.
Wed Dec 19 13:11:44.276 [initandlisten] ** 32 bit builds are limited to less than 2GB of data (or less with --journal).
Wed Dec 19 13:11:44.276 [initandlisten] ** Note that journaling defaults to off for 32 bit and is currently off.
Wed Dec 19 13:11:44.276 [initandlisten] ** See http://dochub.mongodb.org/core/32bit
Wed Dec 19 13:11:44.276 [initandlisten]
> show dbs
local 0.03125GB

创建数据库School以及集合teacher与student

wrr@ubuntu:~$ sudo service mongodb start
start: Job is already running: mongodb
wrr@ubuntu:~$ mongo
MongoDB shell version: 2.4.14
connecting to: test
Server has startup warnings:
Wed Dec 19 13:11:44.276 [initandlisten]
Wed Dec 19 13:11:44.276 [initandlisten] ** NOTE: This is a 32 bit MongoDB binary.
Wed Dec 19 13:11:44.276 [initandlisten] ** 32 bit builds are limited to less than 2GB of data (or less with --journal).
Wed Dec 19 13:11:44.276 [initandlisten] ** Note that journaling defaults to off for 32 bit and is currently off.
Wed Dec 19 13:11:44.276 [initandlisten] ** See http://dochub.mongodb.org/core/32bit
Wed Dec 19 13:11:44.276 [initandlisten]
> show dbs
School 0.0625GB
local 0.03125GB
test (empty)
> use School
switched to db School
> db.createCollection('teacher')
{ "ok" : 1 }
> db.createCollection('student')
{ "ok" : 1 }
> show collections
student
system.indexes
teacher

插入数据

> db.student.insert({_id:2018001, sname:'zhangsan', sage:20})
> db.student.save({_id:2018002, sname:'lisi', sage:22})
> db.student.find()
{ "_id" : 2018001, "sname" : "zhangsan", "sage" : 20 }
{ "_id" : 2018002, "sname" : "lisi", "sage" : 22 }

查找数据

> db.student.find({sname:'lisi'})
{ "_id" : 2018002, "sname" : "lisi", "sage" : 22 }
> db.student.find({},{sname:1, sage:1})
{ "_id" : 2018001, "sname" : "zhangsan", "sage" : 20 }
{ "_id" : 2018002, "sname" : "lisi", "sage" : 22 }
> db.student.find({sname:'zhangsan', sage:22})
> db.student.find({$or: [{sage: 22},{sage:25}]})
{ "_id" : 2018002, "sname" : "lisi", "sage" : 22 }

修改数据

将李四的年龄修改为30

> db.student.find().pretty()
{ "_id" : 2018001, "sname" : "zhangsan", "sage" : 20 }
{ "_id" : 2018002, "sname" : "lisi", "sage" : 22 }
> db.student.update({sname:'lisi'},{$set:{sage:30}},false,true)
> db.student.find({sname:'lisi'})
{ "_id" : 2018002, "sname" : "lisi", "sage" : 30 }

删除数据

删除一条学生记录

> db.student.remove({sname:'zhangsan'})
> db.student.find()
{ "_id" : 2018002, "sname" : "lisi", "sage" : 30 }

删除学生数据集

> db.student.drop()
true
> show collections
system.indexes
teacher

退出

exit

如果想看更详细的解读,请看Ubuntu下MongoDB安装与使用教程_厦大数据库实验室博客