2014-02-24 58 views

回答

0

util.inspect將在定義一個對象的自定義inspect()函數時調用它,ObjectID類型就是這種情況。退房線137在BSON模塊的/lib/bson/objectid.js:

/** 
* Converts to a string representation of this Id. 
* 
* @return {String} return the 24 byte hex string representation. 
* @api private 
*/ 
ObjectID.prototype.inspect = ObjectID.prototype.toString; 

有了這個定製的檢查沒有確定,你會看到你所期望的數據類型的打印。一個簡單的測試可以確認:註釋掉該行設置的ObjectID的定製檢查的對象ID原型,上面的示例代碼現在產生這樣的:

{ _bsontype: 'ObjectID', 
id: 'S\u000b~öxÿOkü6ü', 
binId: <Buffer 53 0b 7e 99 f6 78 ff 4f 6b fc 36 fc> } 

乾杯。

+0

到底!這是我正在尋找https://github.com/mongodb/js-bson/blob/master/lib/bson/objectid.js#L135 謝謝。 – alexserver