1
我试图建立的MongoDB来测试其速度和正在运行与_id重复一个问题。我不是这样设定的,我让mongodb做,因为我不在乎。我ahve下面的PHP代码:MongoDB _id字段自动生成?
<?php
$mongo = new Mongo();
$db = $mongo->selectDB("scrap_fighters");
$collection = $db->selectCollection('scores');
$data = array
(
'user_id' => 1,
'name' => 'John Doe',
'score' => 120
);
$start = microtime(true);
for($x=0; $x < 1000; $x++)
{
$data['unqiue'] = microtime();
$result = $collection->insert($data, array('safe' => true));
}
?>
MongoDB使用什么来生成他们的“唯一”ids?我甚至尝试用独特的替换:
$data['unqiue'] = rand(1, 1000000);
要100%确定它正在工作,但它仍然在第一次写入后失败。我是否可以不输入具有相同数据的记录,而无需自己生成唯一的身份证明?
独特的领域是_id和我的代码显示,我不是自动设置_id这就是为什么它是怪异的正在冲突的_id值自动生成的_id。这也是一个全新的集合(在脚本执行之前不存在),所以这个集合上没有其他索引。 – ryanzec
drop集合,插入并检查生成的_id(s)后执行var_dump($ data)。 –
答:哈哈哈,我不知道该插件调用添加_id到阵列中。我添加了unset($ data ['_ id'])到它的结尾,它工作正常,谢谢。 – ryanzec