💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
[TOC] # 添加文档 语法: db.集合名.insert({k1:’v1’,k2:’v2’…..}) 注意点: (1)文档就是键值对,数据类型是BSON格式,支持的值更加丰富。 ![](https://box.kancloud.cn/3b5bb17b32856129537e4951f35025ee_1710x1112.jpg) 比如:db.集合名.insert({name:’xiaobai’,spc:{weight:100,address:’guangzhou’}}) (2)在添加的文档里面,都有一个’_id’的键,值为对象类型。 ![](https://box.kancloud.cn/0be7cf6b542e4620fc6aaef4667a380c_2042x202.jpg) ObjectId类型: 每个文档都有一个_id字段,并且同一集合中的_id值唯一,该字段可 以是任意类型的数据,默认是一个ObjectId对象。 ObjectId对象对象数据组成:时间戳 |机器码|PID|计数器 `_id`的键值我们可以自己输入,但是不能重复 注意:在插入数据的时候,如果_id的值重复则会报错。 (3)可以使用js代码来完成批量插入文档 # 删除文档 语法:db.集合名.remove({条件})(不写条件删除所有的文档) 例1:删除 php 集合中年龄等于5的文档 db.php.remove({age:5}) 例2:删除 php 集合中年龄大于7的文档 使用操作符来完成 常用操作符: $lt , $lte , $gt , $gte ( < , <= , > , >= ), $ne ( <> ) ,$in , $nin , $or , $not, $mod (取模), $exists, $where db.php.remove({age:{‘$gt’:7}}) # 更新文档 方法一,直接修改 语法:db.集合名.update({条件},{新的文档}) 语法: db.集合.update(条件,新文档, 是否新增, 是否修改多条) 是否新增:如果值是1(true)则没有满足条件的则添加。 是否修改多条:若值是1(true),如果满足条件的有多个文档则都要修改, 案例1:在PHP集合里面,要修改age=4的文档名称为xiaosi db.php.update({age:4},{name:’xiaosi’}) 方法二,使用修改器 案例2:要修改age=3的文档名称为xiaosan,并且其他键值不能丢失 使用修改器 $inc : 加一个数字 $set : 修改某一个字段,如果该字段不存在就增这个字段 语法:db.集合名.update({条件},{修改器名称:{修改的键:修改的新值}}) db.php.update({age:3},{‘$set’:{name:’xiaosan’}}) 案例3:要修改age=1的文档的年龄添加10岁 db.php.update({age:1},{$inc:{age:10}}) # 查询文档 语法:db.集合名.find({条件}) 案例1:取出php集合里面第一个文档 db.php.findOne(); 案例2:取出php集合里面age=2的文档 db.php.find({age:2}) 案例3:取出php集合里面age大于2的文档 db.php.find({age:{‘$gt’:2}}) 案例4:取出php集合里面的文档,只显示name键 db.php.find({},{age:1})//1表示只显示age键值 db.php.find({},{age:0})//0表示除了age键值,其他的都显示。 案例5:根据年龄的(降序|升序)来显示文档 db.集合名.find().sort({age:1})根据年龄升序 db.集合名.find().sort({age:-1})根据年龄降序 案例6:显示php集合中前3个文档。 db.php.find().limit(3) 案例7:显示php集合中第3个文档到第5个文档。 db.php.find().skip(2).limit(3) 案例8:统计php集合中文档的个数 db.集合名.count():返回集合中有多少个文档