2012-04-30 41 views
0

Meteor Collection Object_Id看起來不是Mongo BSON Object_Id。這似乎是基於IRC中的對話,https://github.com/meteor/meteor/blob/master/packages/uuid/uuid.jsMeteor Collection Object_Id可以像Mongo BSON ObjectId一樣用於優化技術嗎?

因此,可它仍然被用來爲真...

  1. 使用升序排列?
  2. 用於提取插入時間?
  3. 按升序排序,性質與#1和#2類似,但在查詢範圍內相結合。

我認爲這對許多人來說是一個重要的問題,正在考慮構建一個需要優化的應用程序,並根據Mongo文檔進行設計。有關更多信息,請參閱http://www.mongodb.org/display/DOCS/Optimizing+Object+IDs

回答

3

繼承人的當前實現:

// RFC 4122 v4 UUID. 
LocalCollection.uuid = function() { 
    var s = []; 
    var hexDigits = "abcdef"; 
    for (var i = 0; i < 36; i++) { 
    s[i] = hexDigits.substr(Math.floor(LocalCollection.random() * 0x10), 1); 
    } 
    s[14] = "4"; 
    s[19] = hexDigits.substr((s[19] & 0x3) | 0x8, 1); 
    s[8] = s[13] = s[18] = s[23] = "-"; 

    var uuid = s.join(""); 
    return uuid; 
} 

來自:https://github.com/meteor/meteor/blob/bf46f04024251dea7a547c48d01d8032b7838d10/packages/minimongo/uuid.js

所以答案是,沒了。它大多是隨機的。