程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP基礎知識 >> mongodb如何修改

mongodb如何修改

編輯:PHP基礎知識
 

最初的想法是用update-set:


> db.class.update( {"_id": ObjectId("5405a4e5acff6a9f22000000")} , {$set: {"_id": ObjectId("53fc56c0acff6ace4d000000")}} );
Mod on _id not allowed
 

可能是set不給力的原因。

那麼可以把原文檔保存到變量裡面,修改_id的值,再update回去嗎?


var o = db.class.findOne( { "_id": ObjectId("5405a4e5acff6a9f22000000")});
> o._id = ObjectId("53fc56c0acff6ace4d000000");
ObjectId("53fc56c0acff6ace4d000000")

> db.class.update( {"_id": ObjectId("5405a4e5acff6a9f22000000")} ,o );
cannot change _id of a document old: xxxx new:xxxxx
 

無奈了。

只好拿出絕招:


> var o = db.class.findOne( { "_id": ObjectId("5405a3b0acff6a440a000000")});
>
> o._id = ObjectId("53fc5705acff6a7a6b000000");
ObjectId("53fc5705acff6a7a6b000000")
>
> db.class.save(o);
 

然後再刪除舊的數據……..

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved