php7结合mongoDB插入数据

php7结合mongoDB插入数据

代码如下:

<?php
$bulk = new MongoDB\Driver\BulkWrite;//1
$document = ['_id' => new MongoDB\BSON\ObjectID, 'name' => '菜鸟教程'];//2

$_id= $bulk->insert($document);

var_dump($_id);//3

$manager = new MongoDB\Driver\Manager("mongodb://localhost:27017");  //4
$writeConcern = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 1000);//5
$result = $manager->executeBulkWrite('test.runoob', $bulk, $writeConcern);//6
?>
  1. MongoDB\Driver\BulkWrite收集一个或多个应该被发送到服务器的写操作,添加任意数量的插入、更新和删除操作后,可以通过MongoDB\Driver\Manager::executeBulkWrite()执行。

  2. 在MongoDB中,每个存储在一个集合中的文档需要一个独特的_id字段作为主键。如果插入的文档,省去了_id领域,驱动程序会自动生成一个对象id为_id场。

    一个ObjectId BSON型。该值由12个字节,其中前四个字节是个时间戳,反映ObjectId的产生时间。具体而言,价值包括: 一个代表秒的Unix纪元自4字节值, 一个3字节机器标识符, 2字节进程ID,和 一个3字节计数器,开始用一个随机值

  3. var_dump能打印出类型。

    print_r只能打出值。

    echo()是正常输出。

        需要精确调试的时候用var_dump();

    一般查看的时候用print_r();

    另外,echo()不能显示数组,其余2个可以......

  1. MongoDB\Driver\Manager是扩展的主要切入点。它负责维护连接到MongoDB(可以是独立服务器,复制集,或分片集群)。
  2. MongoDB\Driver\WriteConcern这个是个对mongodb的写入性能、以及确保数据一致性的控制设置,非常重要的一个类.MongoDB支持的WriteConncern选项如下
  • w: 数据写入到number个节点才向用客户端确认
  • {w: 0} 对客户端的写入不需要发送任何确认,适用于性能要求高,但不关注正确性的场景
  • {w: 1} 默认的writeConcern,数据写入到Primary就向客户端发送确认
  • {w: “majority”} 数据写入到副本集大多数成员后向客户端发送确认,适用于对数据安全性要求比较高的场景,该选项会降低写入性能
  • j: 写入操作的journal持久化后才向客户端确认默认为”{j: false},如果要求Primary写入持久化了才向客户端确认,则指定该选项为true
  • wtimeout: 写入超时时间,仅w的值大于1时有效。
  • 当指定{w: }时,数据需要成功写入number个节点才算成功,如果写入过程中有节点故障,可能导致这个条件一直不能满足,从而一直不能向客户端发送确认结果,针对这种情况,客户端可设置wtimeout选项来指定超时时间,当写入过程持续超过该时间仍未结束,则认为写入失败。
  • 详情请见: http://www.mongoing.com/archives/2916
  1. 见1.
  2. 参考自 :http://php.net/manual/en/book.mongodb.php

转载于:https://www.cnblogs.com/sinceForever/p/7606521.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值