mongodb'document'变量在PHP中定义

时间:2013-01-03 08:37:06

标签: php codeigniter mongodb mongodb-php

我正在使用 Codeigniter PHP 。 我们可以为 mongodb 查询定义空数组,如下所示,

$db->user->insert(array('report'=> array()));

我如何在PHP document中为mongodb定义空?(数据类型)

我知道,我可以在使用其他运行时查询时创建document变量(使用 $ set 或其他)。但是当我document时,我需要创建insert变量。

如果我创建如下的文档变量,

$a = array();
$db->user->insert(array('report'=> $a));

以下代码无效,

$db->user->update(
    array('user' => $user ), 
    array('$set' => array(
        'report.' . $number => 
             array('id'=>$number, 'on' => time(), 'status'=> 0)
    )));

这里,$number是字符串变量。

2 个答案:

答案 0 :(得分:4)

最后我的问题没办法。我搜索的方式很多。因此,我们可以在使用其他运行时查询时创建document变量(使用 $ set 或其他)。感谢。

答案 1 :(得分:0)

MongoDB PHP驱动程序支持发送空对象(它没有验证它的结束以确保你发送一些有价值的东西)要保存但是检测到这种保存对象的方法在没有知道的情况下将是无用的您刚刚保存的对象的_id可以执行:

$a = array();
$db->user->insert($a);
var_dump($a['_id']);

因为如果传递了一个变量,MongoDB的insert函数将修改(通过引用)原始变量并向其添加_id字段。

你无法保存"空"然而,对象(没有不可变_id的对象)到普通集合。对于像上限集合这样的事情当然不同。