交通信用网站建设,jsq项目做网站,打完疫苗发烧怎么处理,订阅号自定义可以做链接网站不一、Insert操作Insert操作是MongoDB插入数据的基本方法#xff0c;对目标集合使用Insert操作#xff0c;会将该文档添加到MongoDB并自动生成相应的ID键。文档结构采用类似JSON的BSON格式。常见的插入操作主要有单条插入和批量插入两种形式。插入时只是简单地将文档存入数据库…一、Insert操作Insert操作是MongoDB插入数据的基本方法对目标集合使用Insert操作会将该文档添加到MongoDB并自动生成相应的ID键。文档结构采用类似JSON的BSON格式。常见的插入操作主要有单条插入和批量插入两种形式。插入时只是简单地将文档存入数据库中不进行额外的验证也不会执行代码所以不存在注入式攻击的可能。1、单条插入2、批量插入MongoDB对批量插入的支持是通过传递多个文档组成的数组到数据库来实现的。由于它插入数据是通过发送TCP请求的这样只需发送单个TCP请求且数据库无需处理大量的消息头减少插入时间。这种方式的批量插入一次只能将多个文档插入到一个集合中对于插入到多个集合可以循环调用Insert操作。二、Remove操作remove函数可以用来删除数据它能接受一个文档作为可选参数只有符合条件的文档才会被删除。删除数据是永久性的不能撤销也不能恢复需要谨慎。删除文档需要清空整个集合不如直接删除集合快。三、Update操作update函数用于修改数据库中的数据它接收两个参数一个是查询文档用来查找要更新的文档另一个是修改器文档用来描述对找到的文档做哪些修改。更新操作是原子性的如果多个更新同时发生则所有的更新都会执行但最后的更新是最终赢家。1、整体更新(文档替换)2、局部更新(修改器)部分更新是通过原子的更新修改器实现的使用修改器时除了”_id“的值不能改变其他任何值都能改变。文档替换是可以改变所有值的。$inc修改器将指定属性的值增加特定的步长如果键不存在则创建它。$set修改器用来指定一个键的值如果不存在则创建它。$push数组修改器如果指定的键存在则向已有的数组末尾加入一个元素键不存在则会创建一个新的数组。3、upsert操作upsert操作具有saveOrUpdate的功能如果没有文档符合更新条件则以更新条件和更新文档为基础创建一个新的文档。如果有符合更新条件的文档则正常更新。创建新文档时会以条件文档作为基础将修改器作用其之上。upsert操作是原子性的高效的。4、批量更新批量更新只需将update的第4个参数设为true即可。四、瞬间完成上面的插入删除和更新操作都是瞬间完成的它们不需要等待数据库响应。这样的实现可以获取高性能速度非常快只会受客户端发送速度和网络速度的制约。但由于不会获取服务器状态所以不能保证操作顺利完成。这对于付费系统安全性较高的系统是不可行的此时对这些操作需要使用它们的安全版本。安全版本会在操作执行后立即运行getLastError命令来检查是否执行成功。如果失败一般会抛出可捕获的异常然后我们可以在代码中处理。五、请求和连接数据库会为每个MongoDB数据库连接创建一个队列存放这个连接的请求客户端新发送的请求会被放到队列的末尾。只有队列中的请求都执行完毕后续的请求才会执行。即对于单个连接来说请求都是顺序执行不存在并发问题所以它总能读到自己写的东西。但对于不同的连接就有可能出现读取和写入不一致的问题在驱动程序使用连接池时要特别注意此行为。具体连接池信息可参考官网MongoDB官网