【问题标题】:Mongoose pluralization rules not working猫鼬复数规则不起作用
【发布时间】:2014-11-05 00:14:19
【问题描述】:

阅读猫鼬,如果我声明一个像这样的猫鼬模型:

var User = mongoose.model('user', userSchema)

然后 mongoose 将创建一个名为“users”的集合(带有 's')。

但是,我已经在 mongo 中手动创建了一个名为“Regions”的集合。当我尝试声明我的猫鼬模型时,它看起来像这样:

var Region = mongoose.model('Region', regionSchema)

但是当我尝试使用 Region.find() 返回所有对象时,返回零结果。 于是我又试了:

var Region = mongoose.model('Regions', regionSchema)

这也返回了零个结果。

最后我不得不这样做:

var Region = mongoose.model('Region', regionSchema, 'Results')

如果mongoose有复数规则,那我怎么还需要传入集合名才能找到数据呢?

【问题讨论】:

    标签: node.js mongoose


    【解决方案1】:

    这是因为 Mongoose 既将模型名称复数,又将其转换为小写。因此,模型名称为 'Region' 时,它正在查找 regions 集合。

    因此,您需要在 model 调用中提供明确的集合名称(如您所示),但集合名称为 'Regions'

    var Region = mongoose.model('Region', regionSchema, 'Regions')
    

    【讨论】:

      猜你喜欢
      • 2023-03-03
      • 1970-01-01
      • 1970-01-01
      • 2018-05-14
      • 2014-12-19
      • 2022-01-05
      • 2015-11-16
      • 1970-01-01
      相关资源
      最近更新 更多