2014-08-27 161 views
1

只是好奇 - 我在MongoDB集合中有一堆記錄,它們將_id設置爲在Mongo外部定義的某些內容(它們是數據在MySQL中的ID,而它們是導入的_id被設置爲MySQL ID)。 (最好用PHP)將這些ID轉換成Mongo生成的東西是什麼?在MongoDb中更改_id

因此,而不是_id = 500的記錄,它會有一個_id = 53fcf8d6c4d3f7df129e3245。

謝謝!

回答

1

您不能更新_id所以唯一的辦法,是從數據庫中檢索所有文件並且用你自己生成一個(documentation here)新_id或無_id場左右(僞因爲我不知道他們插入PHP驅動程序):

for (i=0;i<max_mysql_id;i++){ 
    doc = db.find({_id:i},{_id :0}); //Select document without the _id field 
    db.insert(doc); 
    db.remove({_id:i}); 
} 

假設你知道_id是你插入。