2013-01-21 64 views
0

我使用MongoDB的用PHP 我希望我的ID與其他領域 我用下面的代碼可以自動遞增,但它沒有運行 我的代碼是如何實現自動增量MongoDB中在PHP

$cnt =0; 
$count = ++$cnt; 
echo $count; 
$a = $collection->insert(array('id'=>$count,'html' => $htmlData)); 

請儘快幫助我

+0

MongoDB本身爲每個記錄使用一個Mongoid。你可以使用它。 –

+0

首先谷歌結果:http://docs.mongodb.org/manual/tutorial/create-an-auto-incrementing-field/請注意,如果你不需要自動增量字段是不好的,請注意你將最有可能會更好與'OjbectId'編輯:你的意思是沒有運行你的代碼?它在做什麼?它會給出錯誤嗎?等等 – Sammaye

回答

1

在您的代碼示例中,您將id字段設置爲您遞增的數字。基於此,我希望您會在插入的文檔中找到html,id,_id字段。 MongoDB確實使用_id而不是id來存儲文檔標識符。如果該字段不存在於要插入的數據中,驅動程序將創建一個新的ObjectId(PHP中的MongoId實例)並將其分配給該字段。

除非您迫切需要遞增標識符,否則最好使用ObjectId。話雖如此,除了文檔Sammaye鏈接(here)之外,您可能會發現Doctrine MongoDB ODM中的自動增量生成器類是一個有用的示例(請參閱:here)。