0

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 相似,但在查询范围上相结合。

我相信对于许多正在考虑构建需要优化并根据 Mongo 文档进行设计的应用程序的人来说,这是一个重要的问题。有关详细信息,请参阅http://www.mongodb.org/display/DOCS/Optimizing+Object+IDs

4

1 回答 1

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

所以答案是,不。这主要是随机的。

于 2012-05-01T16:56:07.570 回答