淘先锋技术网

首页 1 2 3 4 5 6 7

目录

1.启动MongoDB

1.启动服务

2.Shell连接

2.数据库操作

1.查看已有数据库

2.选择/创建数据库

3.查看当前数据库

4.数据库删除

5.退出

3.集合操作

1.集合的显式创建

2.查看所有集合

3.集合的删除

4.文档基本CRUD

1.单个文档插入

2.批量插入

3.查询

4.投影查询

5.文档更新

6.文档删除

7.统计查询

8.排序查询

9.分页查询

10.模糊查询

11.比较查询

12.包含查询

13.条件连接查询

5.索引

1.索引的查看

2.索引的创建

 3.索引的移除

4.移除所有索引


1.启动MongoDB

1.启动服务

在bin目录下打开cmd,输入

mongod --dbpath=..\data\db

2.Shell连接

在cmd中输入以下指令完成登录

mongo
或
mongo --host=127.0.0.1 --port=27017

2.数据库操作

1.查看已有数据库

show databases

2.选择/创建数据库

使用该数据库,若不存在,则会先创建这个数据库,然后再使用

use 数据库名称

3.查看当前数据库

db

4.数据库删除

db.dropDatabase()

5.退出

exit

3.集合操作

1.集合的显式创建

db.createCollection("name")

2.查看所有集合

show collections
或
show tables

3.集合的删除

db.集合名.drop()

4.文档基本CRUD

1.单个文档插入

db.集合名字.insert({"字段1":"值","字段2":"值",·····})
注意:
1. 文档中的键 / 值对是有序的。
2. 文档中的值不仅可以是在双引号里面的字符串,还可以是其他几种数据类型(甚至可以是整个嵌入的文档 )
3. MongoDB 区分类型和大小写。
4. MongoDB 的文档不能有重复的键。
5. 文档的键是字符串。除了少数例外情况,键可以使用任意 UTF-8 字符。

2.批量插入

db.集合名.insertMany([{字段:值,···},{字段:值,···},···])

3.查询

db.集合名.find()  //查询全部
db.集合名.find({字段:值,字段:值···})  //查询字段值符合条件的文档

4.投影查询

就是只查询部分字段

db.集合名字.find({条件},{字段:0/1,字段:0/1}) //要查询的字段值为1,不需要查询的值为0

5.文档更新

db.comment.update({条件},{修改后的数据})  //直接覆盖
db.comment.update({条件},{$set:{要修改部分的字段:数据})  //部分字段修改,默认只修改一个
db.comment.update({条件},{$set:{要修改部分的字段:数据}),{multi:true})   //符合条件的全部修改
db.comment.update({_id:"3"},{$inc:{likenum:NumberInt(1)}})  //自增长,id为3的文档的likenum加一

6.文档删除

db.集合名称.remove(条件)

7.统计查询

db.comment.count()  //查询所有记录数
db.comment.count({字段:值,···}) //符合条件的

8.排序查询

db.COLLECTION_NAME.find().sort({KEY:1})  //1代表升序,-1代表降序

9.分页查询

db.COLLECTION_NAME.find().limit(NUMBER).skip(NUMBER)
skip跳过几条数据,limit显示几条数据

10.模糊查询

mongodb的模糊查询是使用正则表达式来实现的。格式为:

db.collection.find({field:/正则表达式/})
或
db.集合.find({字段:/正则表达式/})

11.比较查询

db.集合名称.find({ "field" : { $gt: value }}) // 大于: field > value
db.集合名称.find({ "field" : { $lt: value }}) // 小于: field < value
db.集合名称.find({ "field" : { $gte: value }}) // 大于等于: field >= value
db.集合名称.find({ "field" : { $lte: value }}) // 小于等于: field <= value
db.集合名称.find({ "field" : { $ne: value }}) // 不等于: field != value

12.包含查询

db.comment.find({userid:{$in:["1003","1004"]}})  //包含使用in
db.comment.find({userid:{$nin:["1003","1004"]}}) //不包含使用nin

13.条件连接查询

$and:[ { },{ },{ } ]
$or:[ { },{ },{ } ]

5.索引

1.索引的查看

db.collection.getIndexes()

2.索引的创建

db.collection.createIndex(keys, options)

 

 3.索引的移除

db.collection.dropIndex(index)
例: db.comment.dropIndex({userid:1})

4.移除所有索引

db.collection.dropIndexes()