為什麼根據(jù)id刪除文件必須要用ObjectId這個方法呢?
小伙看你根骨奇佳,潛力無限,來學PHP伐。
雖然你看到的好像是字串,但 document 的 _id 其實是 ObjectId 對象,所以必須用 ObjectId()
方法把字串轉(zhuǎn)成物件才能使用
補充一些基礎知識。
mongo shell是建立在JavaScript
的基礎上的,不管是V8
還是SpiderMonkey
(兩者都曾經(jīng)作為mongo shell的引擎被使用過),都遵循EMCAScript并實現(xiàn)了它的一個子集。這就意味著shell里面的一切數(shù)據(jù)類型必須是ECMA標準中規(guī)定的數(shù)據(jù)類型。如果去查標準的話,JS的數(shù)據(jù)類型是非常有限的,基本上滿足不了一個數(shù)據(jù)庫的需要。所以有了BSON
,支持那些JSON
規(guī)范里沒有的數(shù)據(jù)類型。ObjectID
就是其中之一。所以剩下的問題就是如何在JS的語法下表達一個它沒有的數(shù)據(jù)類型,結(jié)果就是你看到的ObjectID("...")
。