一.查看数据库的帮助文档
在操作数据库之前,可以先查看mongodb数据库提供的帮助文档
1. help 帮助文档
2.db.help() 数据库帮助文档
3. db.test.help() 数据库集合帮助文档
4.db.test.find().help() 数据库集合查询帮助文档
二. 数据库操作
创建并选择:(有则选,无则生)
use dbName
查询
db 查看当前数据库
show dbs 查看所有数据库
注:在查看所有数据库时,不显示空数据库
显示数据库信息
db.stats() 查看数据库的状态信息
db.getMongo() 查看数据库的链接地址
db.version() 查看数据库的版本信息
db.getName() 查看当前数据库名称
删除数据库
db.dropDatabase()
三、集合的操作
创建集合
db.createCollection(name, options)
使用说明:
name:集合名,字符
options:可选,为对象,可设置属性有:
1.capped 布尔(可选)如果为 true,则创建固定集合。固定集合是指有着固定大小的集合,当达到最大值时,它会自动覆盖最早的文档。当该值为 true 时,必须指定 si参数。
2.autoIndexId 布尔(可选)如为 true,自动在 _id 字段创建索引。默认为 false。
3.size数值(可选)为固定集合指定一个最大值,以千字节计(KB)。
如果 capped 为 true,也需要指定该字段。
4.max数值(可选)指定固定集合中包含文档的最大数量。
删除集合:
db.colName.drop()
查看所有集合:
show collections
4,数据的操作
用户信息数据设计:
用户名:userName
密码:pass
年龄:age
籍贯:city
如:小明,111111,18,上海
{userName:“小明”,pass:“1111111”,age:18,city:“上海”}
增
插入单条:db.colName.insert({})
插入多条:db.colName.insert([{},{},…])
插入单条:db.colName.insertOne({})
插入多条:db.colName.insertMany([{},{},…])
删
根据指定的键值对条件:
删除单条数据:db.colName.deleteOne({key:val})
删除多条数据:db.colName.deleteMany({key:val})
删除所有数据:db.colName.deleteMany({})
改
根据指定的键值对条件:
修改单条数据:db.colName.updateOne({key:val},{KaTeX parse error: Expected 'EOF', got '}' at position 30: …al,key2:newVal}}̲) 修改多条数据:db…set:{key1:newVal,key2:newVal}})
Num为正自增,为负自减
自增/自减单条数据:db.colName.updateOne({key:val},{KaTeX parse error: Expected 'EOF', got '}' at position 15: inc:{key1:num}}̲) 自增/自减多条数据…inc:{key1:num}})
五.数据的操作----查
基本查询所有数据:db.colName.find()
格式化查询所有数据:db.colName.find().pretty()
指定键值对条件查询:
db.colName.find({key:val})
指定条件查询(可以为{}表示所有数据),并限制字段显示:
db.colName.find({key:val},{userName:1, pass:1}) // inclusion模式,指定返回的键,不返回其他键
db.colName.find({key:val},{userName:0, pass:0}) // exclusion模式,指定不返回的键,返回其他键
注意:_id默认返回,如果不需要,需主动设置_id:0
分页查询:
db.colName.find({key:val}).limit(num).skip(start)
num:表示个数
start:表示起始索引,默认为0
排序查询:
db.colName.find({key:val}).sort({key:1}) // 1升序,-1降序
条件查询:
db.colName.find({ key: {$lt:val1, $gt:val2} }) // 小于val1,大于val2
db.colName.find({ key: {$lte:val1, $gte:val2} }) // 小于等于val1,大于等于val2
模糊查询:
db.colName.find({ key: /val/}) // 查询key中包含val的数据
db.colName.find({ key: /^val/}) // 查询key中包含val且以val开头的数据
或查询:
db.colName.find({ $or: [{key1:val1},{key2:val2}] }) // 查询key1为val1或key2为val2的数据
且查询:
db.colName.find({ key1:val1, key2:val2 }) // 查询key1为val1且key2为val2的数据
获取分类:
db.colName.distinct("key") // 获取指定字段的所有数据,去重并以数组的形式返回
node连接mongodb,实现数据的增删改查