MongoDB中有findAndModify命令來使用自動遞增數字而不是默認ID,但我不知道如何將它用於PHP驅動程序(我不確定它是否支持在所有)。MongoDB中ID的序列號
0
A
回答
2
好吧,如果你需要存儲增量值,我建議你使用其他字段而不是mongodb _id字段mongodb使用這些生成的id返回一些(我相信很多,如果不是全部的話)類型的查詢,特別是如果你有一個多集羣設置,那麼它肯定會使用_id字段來定位數據所在的物理磁盤(我相信使用散列表或某種這樣的技術 - 並不完全與mongo內核的引擎蓋下操作一致)。簡而言之,請將其設計爲一個自動生成的參考字段。
0
<?php
$m = new MongoClient();
// select a database
$db = $m->seq;
// select a collection (analogous to a relational database's table)
$collection = $db->counters;
$user_collection = $db->user;
/**********Function to auto increment seq************/
function getNextSequence($name){
global $collection;
$retval = $collection->findAndModify(
array('_id' => $name),
array('$inc' => array("seq" => 1)),
null,
array(
"new" => true,
)
);
return $retval['seq'];
}
$db_array=array('_id' => getNextSequence("userid"), 'name' => 'debojit');
$user_collection->insert($db_array);
相關問題
- 1. Id的序列號
- 2. 表中的多個序列ID號
- 3. 在mongoDB中生成序列號
- 4. MongoDB中的序列
- 5. MongoDB C#:ID序列化最佳模式
- 6. 使用MongoDB時引號的ID $ setEquals
- 7. MySQL列ID號
- 8. MongoDB的反序列化在C#中,當自定義ID字段
- 9. MongoDB中選擇其中陣列場ID
- 10. mongodb搜索id列表
- 11. 按序列分配ID號碼
- 12. 顯示器ID和序列號
- 13. MongoDB(PHP) - 自定義「id」和OrderWith編號
- 14. id屬性的C#MongoDB的反序列化
- 15. ddl2hbm中id的序列值
- 16. 獲取Linux中的主板設備ID和BIOS序列號
- 17. 如何在SAP B1中生成唯一的ID /序列號?
- 18. 在pg-promise中插入帶有序列號的id
- 19. MongoDB中的重複ID
- 20. MongoDB - 從每個序列號列出一個文件
- 21. 序列號的JPA序列
- 22. 序列/序列號
- 23. 查詢MongoDB中包含列表中的id的文檔
- 24. MySQL的id序列
- 25. UDP中的序列號
- 26. mapreduce中的序列號
- 27. XSLT 1.0中的序列號
- 28. 一對中的序列號
- 29. 在PHP中的序列號
- 30. Rails中的序列號
在分佈式環境中很難生成增量ID。我建議使用唯一生成的id,如objectId而不是增量。 –
問題是我想將它們用於網絡文章,而長ID將成爲我網址的一部分,這並不是很好。這就是我希望使用類似sql的auto_increment的原因primary_key – Googlebot
MB This post - > http://shiflett.org/blog/2010/jul/auto-increment-with-mongodb會幫助你。但我認爲objectId看起來好,即使在URL中) –