【问题标题】:In creating a primary key in a Forerunner database collection, can the key property live inside of an object of the collection object?在 Forerunner 数据库集合中创建主键时,键属性可以存在于集合对象的对象内部吗?
【发布时间】:2016-04-26 21:01:24
【问题描述】:

我有一个解决方法,但是我想知道为什么会失败 - 这是我的 JavaScript 错误吗? 我的应用程序使用两种模型。我正在使用 Forerunner 来保存之前在我的 MVC 中创建的 JSON 模型。
我想将 Forerunner 主键存储在一个对象中,以便更清楚地(在我的第一个模型中)该键仅在 Forerunner 模型中使用。 密钥需要保存在两个模型中,这样当第一个模型更改时,我可以立即更新 Forerunner 模型 - 它是两个模型之间的链接。

这里有一个代码示例来说明:

var games = db.collection("games", {
    primaryKey: "gamedb._id"
});

games.insert({
    gamedb : {
        _id: 1,
    },
    userDesc : "original 11x11",
    Size : [11,11],
    Plays : []
    .
    .
}, function (result) {
       console.log(result);
});

我确实尝试过,结果令人困惑,所以现在我只是将密钥作为集合的属性。 这是我尝试使用上述代码示例的 console.log 结果。先行者 insert() 没有失败。 我对属性 'gamedb._id 感到困惑:“225b ...”。
感谢您的任何建议或见解。

    gamedb : Object
    _id: 1
    gamedb._id: "225b3c25aeb38a0",
}
.
.

【问题讨论】:

    标签: javascript mongodb forerunnerdb


    【解决方案1】:

    ForerunnerDB 中的主键当前必须位于对象的根目录中。当您告诉它创建主键“gamedb._id”时,它不会将该字符串解析为路径,而是假设您将其作为根键传递,例如{"gamedb._id": myId}

    有计划更新 ForerunnerDB 以允许嵌套主键,但这目前是不可能的。

    来源:我写了 ForerunnerDB

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-05
      • 1970-01-01
      • 1970-01-01
      • 2015-05-28
      相关资源
      最近更新 更多