【问题标题】:Sails 10.x waterline: What attribute type to use for Mongo objectIDSails 10.x 水线:Mongo objectID 使用什么属性类型
【发布时间】:2014-09-05 20:08:34
【问题描述】:

sailsjs:我正在尝试定义一个模型。我想添加一个属性 vendorID。该类型将是来自供应商集合的 monogdb objectID。 类似于商店模型的东西: module.exports ={ attributes :{ vendorId : { type: <Monog ObjectId>}, <-- this would be a FK to the vendor Collection storeName: {type: 'string'} .... }

水线文档说:

以下属性类型目前可用:

  • 字符串
  • 文字
  • 整数
  • 浮动
  • 日期
  • 时间
  • 日期时间
  • 布尔值
  • 二进制
  • 数组
  • json

那我选什么?

谢谢

【问题讨论】:

    标签: sails.js waterline sails-mongo


    【解决方案1】:

    您应该查看 SailsJS associations。使用水线,您不需要直接处理 id 类型。只需通过modelcollection 属性创建一个指向另一个集合的属性。

    这是 Sails/Waterline 文档中的一个简单示例。

    //Pet.js - A Pet may only have a single user
    module.exports = {
    
        attributes: {
            name:'STRING',
            color:'STRING',
            owner:{
                model:'user'
            }
        }
    
    }
    
    //User.js - A user may have multiple pets
    module.exports = {
    
        attributes: {
            name:'STRING',
            age:'INTEGER',
            pets:{
                collection: 'pet',
                via: 'owner'
            }
        }
    
    }
    

    【讨论】:

    • 行得通。我注意到 ObjectID 被转换为水线中的字符串。所以我也可以在其他集合中使用该字符串作为参考。
    【解决方案2】:

    _id 由 Waterline 自动为您创建,您不必这样做。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-02-13
      • 2014-11-09
      • 1970-01-01
      • 1970-01-01
      • 2017-01-06
      • 2015-01-26
      • 1970-01-01
      相关资源
      最近更新 更多