千家信息网

Mongodb的安装与CRUD操作

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,What is Mongodb ? Mongo DB是一款开源的非关系型数据库(NoSql)其文档模型自由灵活,可以让你在开发过程中畅顺无比。对于大数据量、高并发、弱事务的互联网应用,MongoDB可
千家信息网最后更新 2026年11月01日Mongodb的安装与CRUD操作

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 Repositorybaseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/gpgcheck=0enabled=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操作


[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代表修改整个文档被匹配到的内容

统计指定集合中文档的个数

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:}},指定的值为"true"则返回存在指定字段的文档,"false"则返回不存在指定字段的文档;


$mod:将指定字段的值进行取模运算,并返回其余数为指定值得文档


$type:返回指定字段的值类型为指定类型的文档


查找存在Address字段的文档

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


总结完成!

数据 文档 字段 运算 用户 年龄 数据库 条件 互联网 文件 类型 互联 查询 畅顺 自如 自由 两个 个数 中小 中小型 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技公司排名 互联网的科技 互联网是不是新科技 科技信息互联网 华中科技大学互联网 互联网科技的未来发展 金融科技和互联网金融 美国互联网前沿科技 互联网科技类展会 深圳卡尔迅互联网科技有限公司怎么样 太原新华互联网科技学校怎么样 中国互联网公司排名锤子科技 深圳市罗太互联网科技有限公司 济南有互联网科技公司吗 扫呗互联网科技有限公司 上海同邻互联网科技有限公司规模 广州梦谷互联网科技有限公司领导 互联网科技收购价值 兰石爱特工业互联网科技分公司 优雇互联网科技有限公司 喔噻互联网科技有限公司 亿策互联网科技 华脉科技工业互联网产品 博兴的互联网电子科技公司 湖南诚度互联网科技有限公司 互联网科技创新的路径 互联网科技公司营业执照怎么办理 互联网方面的科技前沿 广州互联网高科技取餐柜 上海旺乐尼互联网科技有限公司
0