mongoDB使用
数据格式
示例:
1 2 3 4 5
| {title: 'MongoDB 教程', tags: ['mongodb', 'database', 'NoSQL'], likes: 100 }
|
使用{}包裹,每个键值对用逗号分隔,最后一个键值对后不能有逗号。
字符串用’’包裹,数字不用,数组用[]包裹,可以为字符串数组。
数据库管理
1 2 3 4
| > show dbs leanote 0.078GB local 0.078GB
|
1 2 3
| # 不存在则创建,否则切换到指定数据库 use 数据库名
|
集合管理
集合就是 MongoDB 中最小的单位,类似关系型数据库中表的概念。
1 2 3
| > show collections 或者 > show tables
|
1 2 3 4
| db.createCollection(name, options) // 集合名字,options可选 或者 db.COLLECTION_NAME.insert({"键值名":"键值"}) // 插入一条记录(集合不存在则自动创建)
|
1 2
| db.COLLECTION_NAME.drop() // 删除集合name
|
1 2 3 4 5 6 7 8
| db.COLLECTION_NAME.insert(document) 或 db.COLLECTION_NAME.save(document) 示例: db.COLLECTION_NAME.insert({title: 'MongoDB 教程', tags: ['mongodb', 'database', 'NoSQL'], likes: 100 })
|
1 2 3 4
| db.COLLECTION_NAME.find() // 查询所有数据 db.COLLECTION_NAME.find().pretty() // 格式化输出 db.COLLECTION_NAME.find({key1:value1, key2:value2}) //查询指定条件的数据
|
1 2 3 4
| db.COLLECTION_NAME.remove(匹配内容) // 删除所有符合条件的文档
示例: db.COLLECTION_NAME.remove({title: 'MongoDB 教程'}) // 删除title为MongoDB 教程的文档
|
1 2 3 4
| db.COLLECTION_NAME.update(查询条件,更新内容) // 更新所有符合条件的文档
示例: db.COLLECTION_NAME.update({title: 'MongoDB 教程'}, {$set: {likes: 10}}) // 更新likes为10
|
操作符
1 2 3 4 5 6 7 8 9 10 11
| $lt 小于 $lte 小于等于 $gt 大于 $gte 大于等于 $ne 不等于 $in 包含 $nin 不包含
示例: db.COLLECTION_NAME.find({likes: {$lt: 10}}) // 查询likes小于10的数据
|
1 2 3 4 5 6 7 8
| $or 或 $and 与 $not 非 $nor 非或 示例: db.COLLECTION_NAME.find({$or: [{likes: 10}, {title: 'MongoDB 教程'}] }) // 查询likes等于10或title为MongoDB 教程的数据
|
1 2 3 4 5
| $all 匹配数组中多个值 $size 匹配数组大小 $slice 数组切片 示例: db.COLLECTION_NAME.find({tags: {$all: ['mongodb', 'database']}}) // 查询tags包含mongodb和database的数据
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| $set 设置字段 $unset 删除字段 $inc 增加字段 $rename 重命名字段 $push 追加数组 $pop 删除数组 $pull 删除数组中指定值 $bit 位操作 $min 最小值 $max 最大值 $currentDate 当前日期 $addToSet 添加数组 示例: db.COLLECTION_NAME.update({title: 'MongoDB 教程'}, {$set: {likes: 10}}) // 更新likes为10
|
待续