加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 服务器 > 系统 > 正文

Mongodb的安装与CRUD操作步骤

发布时间:2023-10-20 15:51:35 所属栏目:系统 来源:
导读:What is Mongodb ?

Mongo DB是一款开源的非关系型数据库(NoSql)其文档模型自由灵活,可以让你在开发过程中畅顺无比。对于大数据量、高并发、弱事务的互联网应用,MongoDB可以应对自如。MongoDB内
What is Mongodb ?        
 
        Mongo DB是一款开源的非关系型数据库(NoSql)其文档模型自由灵活,可以让你在开发过程中畅顺无比。对于大数据量、高并发、弱事务的互联网应用,MongoDB可以应对自如。MongoDB内置的水平扩展机制提供了从百万到十亿级别的数据量处理能力,完全可以满足Web2.0和移动互联网的数据存储需求,其开箱即用的特性也大大降低了中小型网站的运维成本。
 
安装Mongodb
 
    来到mongodb官网http://www.mongodb.org/可以在这里找到YUM源,安装对应版本的两个包,一个为服务端,一个为客户端安装包名称如下:
 
mongo-10gen-2.4.12-mongodb_1.x86_64.rpm
 
mongo-10gen-server-2.4.12-mongodb_1.x86_64.rpm
 
添加官方yum源:
 
vim /etc/yum.repos.d/monogdb.repo
 
[mongodb]
name=MongoDB Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/
gpgcheck=0
enabled=1
 yum install mongo-10gen.x86_64 mongo-10gen-server.x86_64 -y
 
创建mongodb数据文件夹
 
mkdir /mongodb/data/
 
chown -R mongod.mongod /mongodb/data/
 
修改配置文件/etc/mongod.conf指定数据目录
 
dbpath=/mongodb/data
 
启动Mongodb
 
service mongod start
 
Mongodb的安装与CRUD操作
 
Mongodb的CRUD操作
 
[root@server1 ~]# mongo
 
MongoDB shell version: 2.4.5
 
connecting to: test
 
> show dbs  //显示数据库
 
local0.078125GB
 
testdb0.203125GB
 
> use testdb   //使用数据库,不需要提前创建可以直接使用。
 
switched to db testdb
 
> db.testmcoll.insert({Name: "Jerry"})   //指定集合插入数据
 
> db.testmcoll.insert({Name:"Haiman"})
 
> show collections    //显示库中的集合
 
system.indexes
 
testmcoll
 
> db.testmcoll.find()   //查找集合中的数据
 
{ "_id" : ObjectId("549fcaa56e8223a06e8b1f52"), "Name" : "Jerry" }
 
{ "_id" : ObjectId("549fcadc6e8223a06e8b1f53"), "Name" : "Haiman" }
 
> db.testmcoll.stats()   //输出集合的状态信息
 
{
 
"ns" : "testdb.testmcoll",
 
"count" : 2,
 
"size" : 80,
 
"avgObjSize" : 40,
 
"storageSize" : 4096,
 
"numExtents" : 1,
 
"nindexes" : 1,
 
"lastExtentSize" : 4096,
 
"paddingFactor" : 1,
 
"systemFlags" : 1,
 
"userFlags" : 0,
 
"totalIndexSize" : 8176,
 
"indexSizes" : {
 
"_id_" : 8176
 
},
 
"ok" : 1
 
}
 
>
 
> db.testmcoll.drop()   //删除集合
 
true
 
多值插入和批量插入
 
db.users.insert( {   name:"Tom",   age:23,   status:"S",  groups:[ "News","concert" ] } )
 
for(i=1;i<=100;i++) db.users.insert({Name:"User"+i,Age:i,Gender:"M",Class:["Network","software"]})
 
删除年龄为18的行
 
db.users.remove({Age:18})
 
将user12的年龄改为22
 
db.users.update({Name:"User10"},{$set:{Age:22}})   //先指定查询条件,然后用逗号分割开要设置的值。
 
将年龄大于60的用户class字段的值都改为"old-club"
 
db.users.update({Age:{$gt:60}},{$set:{Class:"old-club"}},{multi:true})  //mongodb默认只修改第一个匹配条件的document,multi:true代表修改整个文档被匹配到的内容
 
Mongodb的安装与CRUD操作
 
统计指定集合中文档的个数
 
db.users.count()
 
db.collection.find() 比较运算符:
 
$gt    大于
 
$gte   大于等于  
 
$in    存在于指定列表中
 
$lt    小于
 
$lte   小于等于
 
$ne    不等于
 
$nin   不存在指定列表中
 
查找出Age大于等于90的用户,只显示Name,Age字段:
 
db.users.find({Age:{$gte:90}},{Name:1,Age:1})
 
逻辑运算
 
$or:或运算  $and:与运算  $not:非运算  $nor:反运算,表示返回不符合所有指定条件的文档。
 
查找Age大于61并且小于70的用户
 
db.users.find({$and:[{Age:{$gt:61}},{Age:{$lt:70}}]})
 
查找Age大于61并且小于70的用户只,显示Name字段
 
db.users.find({$and:[{Age:{$gt:61}},{Age:{$lt:70}}]},{Name:1})
 
$exists:根据指定字段的存在性挑选文档,语法格式{field:{$exists:<boolean>}},指定<boolean>的值为"true"则返回存在指定字段的文档,"false"则返回不存在指定字段的文档;
 
$mod:将指定字段的值进行取模运算,并返回其余数为指定值得文档
 
$type:返回指定字段的值类型为指定类型的文档
 
db.users.find({Address:{$exists:true}})
 
在shell中操作mongodb
 
sql="db.srt.find([],{final_txt:1,_id:0})"
 
echo "$sql" | mongo -u quxue -p NbftlXtC6oTa gotye --shell >m.txt
 
总结完成!
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章