我正在使用 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
是字符串变量。
答案 0 :(得分:4)
最后我的问题没办法。我搜索的方式很多。因此,我们可以在使用其他运行时查询时创建document
变量(使用 $ set 或其他)。感谢。
答案 1 :(得分:0)
MongoDB PHP驱动程序支持发送空对象(它没有验证它的结束以确保你发送一些有价值的东西)要保存但是检测到这种保存对象的方法在没有知道的情况下将是无用的您刚刚保存的对象的_id
可以执行:
$a = array();
$db->user->insert($a);
var_dump($a['_id']);
因为如果传递了一个变量,MongoDB的insert函数将修改(通过引用)原始变量并向其添加_id
字段。
你无法保存"空"然而,对象(没有不可变_id
的对象)到普通集合。对于像上限集合这样的事情当然不同。