Meteor Collection Object_Id可以像Mongo BSON ObjectId一样用于优化技术吗?

时间:2012-04-30 02:26:25

标签: mongodb meteor

Meteor Collection Object_Id似乎不是Mongo BSON Object_Id。根据IRC和https://github.com/meteor/meteor/blob/master/packages/uuid/uuid.js

中的对话,这似乎是正确的

因此,它仍然可以用于......

  1. 用于升序?
  2. 用于提取插入时间?
  3. 按升序排序,性质与#1和#2类似,但在查询范围内合并。
  4. 我认为这对于许多正在考虑构建需要优化的应用程序并且正在根据Mongo文档设计的重要问题。有关详细信息,请参阅http://www.mongodb.org/display/DOCS/Optimizing+Object+IDs

1 个答案:

答案 0 :(得分:3)

继承当前的实施:

// RFC 4122 v4 UUID.
LocalCollection.uuid = function () {
  var s = [];
  var hexDigits = "0123456789abcdef";
  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

所以答案是,不。它几乎是随机的。