在javascript上生成mongo ID?

时间:2011-09-13 18:42:41

标签: mongodb

我是mongo的新手,我想在具有webform的web应用程序中使用它来编辑相对复杂的嵌套对象。

长话短说 - 我有用JQuery / Knockout编写的编辑器,它可以生成适当的json来保存。如果你看过关于淘汰赛的视频,你可以想象它有多复杂。 我唯一的问题是,当我尝试为对象ob javascript端生成ID时(对于ObjectId属性),它在反序列化时被忽略(我有“000000 ... 00”)

我阅读了有关ObjectId规范http://www.mongodb.org/display/DOCS/Object+IDs并传递正确的新ID并尝试更改最后3个字节但它不起作用。有什么想法吗?

目前我有类似的东西:

function newMongoId() {
    var id = settings.BaseId // fixed part (first 18 bytes) from server
     + settings.LastId++; // increment which starts from 100000
    return { "$oid": id };
}

1 个答案:

答案 0 :(得分:1)

嗯,这是JavasriptSerializar的问题,它将所有'Id'属性重命名为'_id'。

将上面的函数结果分配给_id后,所有内容都开始正常工作