Mongodb的安装与CRUD操作
时间:2022-03-14 04:21
What is Mongodb ?
Mongo DB是一款开源的非关系型数据库(NoSql)其文档模型自由灵活,可以让你在开发过程中畅顺无比。对于大数据量、高并发、弱事务的互联网应用,MongoDB可以应对自如。MongoDB内置的水平扩展机制提供了从百万到十亿级别的数据量处理能力,完全可以满足Web2.0和移动互联网的数据存储需求,其开箱即用的特性也大大降低了中小型网站的运维成本。
安装Mongodb
来到mongodb官网可以在这里找到YUM源,安装对应版本的两个包,一个为服务端,一个为客户端安装包名称如下:
mongo-10gen-2.4.12-mongodb_1.x86_64.rpm
mongo-10gen-server-2.4.12-mongodb_1.x86_64.rpm
添加官方yum源:
{ "_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:<boolean>}},指定<boolean>的值为"true"则返回存在指定字段的文档,"false"则返回不存在指定字段的文档; $mod:将指定字段的值进行取模运算,并返回其余数为指定值得文档 $type:返回指定字段的值类型为指定类型的文档 db.users.find({Address:{$exists:true}}) 总结完成! 本文出自 “” 博客,请务必保留此出处
查找存在Address字段的文档