Ubuntu下安装mongodb及一些基本操作

来源:互联网 发布:生有涯而知无涯的意思 编辑:程序博客网 时间:2024/05/18 03:52

Ubuntu版本

Ubuntukylin16.4

安装mongodb

首先设置Ubuntu的软件更新源为阿里云

这里写图片描述

然后执行以下命令
sudo apt-key adv –keyserver hkp://keyserver.ubuntu.com:80 –recv EA312927

echo “deb http://mirrors.aliyun.com/mongodb/apt/ubuntu xenial/mongodb-org/3.2 multiverse” | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list

sudo apt-get install -y mongodb-org

如果安装不成功,显示错误无法连接到repo.mongodb.org,可以通过命令,用以下内容覆盖,将更新源改为阿里云

sudo gedit /etc/apt/sources.list

deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse

并在系统的更新内设置,如下,只勾选阿里云的更新
这里写图片描述

重新执行安装命令。

测试mongodb

    //启动    sudo service mongod start    //查看是否启动    netstat -lanp | grep "27017" 

操作mongodb

1.连接至mongodb数据库

    //查看安装在哪个文件夹    which mongo    //进入安装目录 连接至mongodb    ./mongo

2.准备数据

    //此时已连接至mongodb  声明数据对象    var students= [{    name:"jim",    age:25,    email:"75431457@qq.com",    c:89,m:96,e:87,    country:"USA",    books:["JS","C++","EXTJS","MONGODB"]},{    name:"tom",    age:25,    email:"214557457@qq.com",    c:75,m:66,e:97,    country:"USA",    books:["PHP","JAVA","EXTJS","C++"]},{    name:"lili",    age:26,    email:"344521457@qq.com",    c:75,m:63,e:97,    country:"USA",    books:["JS","JAVA","C#","MONGODB"]},{    name:"zhangsan",    age:27,    email:"2145567457@qq.com",    c:89,m:86,e:67,    country:"China",    books:["JS","JAVA","EXTJS","MONGODB"]},{    name:"lisi",    age:26,    email:"274521457@qq.com",    c:53,m:96,e:83,    country:"China",    books:["JS","C#","PHP","MONGODB"]},{    name:"wangwu",    age:27,    email:"65621457@qq.com",    c:45,m:65,e:99,    country:"China",    books:["JS","JAVA","C++","MONGODB"]},{    name:"zhaoliu",    age:27,    email:"214521457@qq.com",    c:99,m:96,e:97,    country:"China",    books:["JS","JAVA","EXTJS","PHP"]},{    name:"piaoyingjun",    age:26,    email:"piaoyingjun@uspcat.com",    c:39,m:54,e:53,    country:"Korea",    books:["JS","C#","EXTJS","MONGODB"]},{    name:"lizhenxian",    age:27,    email:"lizhenxian@uspcat.com",    c:35,m:56,e:47,    country:"Korea",    books:["JS","JAVA","EXTJS","MONGODB"]},{    name:"lixiaoli",    age:21,    email:"lixiaoli@uspcat.com",    c:36,m:86,e:32,    country:"Korea",    books:["JS","JAVA","PHP","MONGODB"]},{    name:"zhangsuying",    age:22,    email:"zhangsuying@uspcat.com",    c:45,m:63,e:77,    country:"Korea",    books:["JS","JAVA","C#","MONGODB"]}]    //插入数据到mongodb    >for(var i=0;i<students.length;i++){db.students.insert(students[i]);}

3.查询数据

//查询所有学生  前面{}的为查询条件 后面的{}为查询字段 1为显示 0为不显示db.students.find({},{name:1,email:1})//查询age和name字段,条件是age>=25 和age < 27,同时不包括主键Db.students.find({age:{$gte:25,$lt:27}},{_id:0,name:1,age:1})//查询不是中国的学生  并将输出格式化Db.students.find({country:{$ne:”china”}}).pretty()//查询国籍是中国或美国的学生:db.students.find({country:{$in:[“China”,”USA”]}})//查询语文成绩>85或者英语成绩>90的学生:db.students.find({$or:[{c:{$gt:85}},{e:{$gt:90}}]})//查询名字中存在”li”的学生信息:db.students.find({name:/li/})//查询出喜欢看MONGODB和JS的学生:db.students.find({books:{$all:["JS","MONGODB"]}},{_id:0,name:1,books:1}).pretty()//查询出喜欢的书籍数量是4本的学生,限制返回3条数据:db.students.find({books:{$size:4}}).limit(3)//查询tom喜欢的2~4本书:   1,3为books数组下标db.students.find({name:”tom”},{books:{$slice:[1,3]}})//查询出student文档中第5~10条数据 db.students.find({},{_id:0,name:1}).limit(5).skip(5)
0 0