【问题标题】:Mongodb - Mapping relations - type ObjectidMongodb - 映射关系 - 类型 Objectid
【发布时间】:2015-01-01 01:18:48
【问题描述】:

我有一个猫鼬模型,它将成为我的User 模型的子对象。这将是一对多的关系(用户将有很多块)。对我来说,在这种情况下,嵌入不是答案。所以我尝试将user_id 添加到我的Block 模型中,并将block_ids 的数组添加到我的User 模型中。我的块看起来像这样:

var mongoose = require('mongoose');

module.exports = mongoose.model('Block',{
  name:String,
  status:String,
  type:String,
  user_id:String,
});

当我使用当前用户的 id 保存一个新块时,它不会保存该属性。我认为这是因为我在架构中声明它的类型为 String 而不是 Objectid,但我不确定如何将其声明为用户模型的对象 id。

【问题讨论】:

    标签: node.js mongodb mongoose


    【解决方案1】:

    使用 Schema.Types.ObjectId 代替 String

    var mongoose = require('mongoose');
    var Schema=mongoose.Schema;
    module.exports = mongoose.model('Block',{
      name:String,
      status:String,
      type:String,
      user_id:Schema.Types.ObjectId
    });
    

    【讨论】:

    • 你从哪里得到Schema?我收到 Schema 未定义的错误。
    • 哦我忘了 var Schema=mongoose.Schema;现在是正确的
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-14
    • 1970-01-01
    • 1970-01-01
    • 2015-03-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多