MongoDB数据库 : 基础

时间:2023-12-13 12:40:32

三元素:数据库 集合 文档(json的扩展bson)

服务启动重启停止: sudo service mongodb start(stop,restart)

修改配置文件 /etc/mongodb.conf
添加 smallfiles=true

查看当前数据库 db

查看所有数据库 show dbs

查看数据库信息 db.stats()

切换数据库 use 数据库名(没有则只是指向这个数据库,但不创建,插入数据创建集合时才会创建)

删除当前指向数据库 db.dropDatabase()

创建集合 db.createCollection('名字',{opt})

创建固定集合(size大小单位kb,max文档最大条数):db.createCollection('集合名',{capped:true,size:5,max:5})

查看集合 show collections

删除集合 db.集合名.drop()

插入数据(会自动创建集合): db.集合名.insert({文档1,文档2,...})

简单查询: db.集合名.find()

修改一条文档(不加multi修改一条,multi:true修改多条) db.update({条件},{修改的内容},{multi:true})

修改一条文档中的某些键值($set) db.update({},{$set:{键:'值'}})

保存: db.集合名.save()

删除(justOne:true删除一条,默认多条): db.集合名.remove({条件},{justOne:默认false})

查询返回第一条: db.集合名.findOne({条件})
结果格式化: db.集合名.find({}).pretty()

比较运算符:
等于:默认就是等于 如(查询title为3的文档) db.sub.find({title:3})

小于($lt) 查询(title小于5的) db.sub.find({title:{$lt:5}})

大于($gt) 查询(title大于5的) db.sub.find({title:{$gt:5}})

还有大于等于:$gte,小于等于:$lte,不等于:$ne

逻辑运算符与(逗号) 如查询名字是xx,性别为true的:db.stu.find({name:'xx',gender:true})

或($or[]) 查询名字是xx或者xxx的:db.stu.find({$or:[{name:'xx'},{name:'xxx'}]})

范围运算符($in:[],$nin:[]):如查询年龄在18-29的:db.stu.find({age:{$in:[18,29]}})

正则表达式(用// 或者$regex):查询姓王的:db.find({name:/^王/})

自定义函数($where+函数) 如查询年龄大于20的:db.stu.find({$where:function(){return this.age<20}})

limit(获取多少条文档)如获取10条: db.集合.find().limit(10)

skip(跳过几条) 如跳过2条: db.jihe.find().skip(2)

投影(显示指定的字段显示设置1,不显示设置0_id列默认显示):如显示name和age db.find({条件},{name:1,age:1})

排序(sort,值为1升序,值为-1降序):db.集合.find().sort({字段:1,....})

统计(count()) db.集合.count({条件})

去重(distinct()): db.集合.distinct('去重字段',{条件})