微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 为动态数量的键/值对制作mongoose模式的正确方法

我有一个单词计数功能,它返回一个带有一组键值对的对象.这样的事情:{a:4,故事:3,:8,二:3,城市:3}

显然,该对象可以具有不同的长度并且具有不同的键/值对.我想将此数据添加到Mongodb中的“文章”文档中.使用mongoose.js这是我能想到的最好的架构.我担心mongo会创建大量的“Word”文档,其中包含一个键/值对和一个id.有没有更好的办法?

在/models/article.js中

mongoose.Schema({
  wordcounts: [wordSchema]
})

在/models/word.js中

mongoose.Schema({
  word: String,
  count: Number
})

所以它最终看起来像:

[{
_id: 3980923urjf0e232902343252,
wordcounts: [
  {_id: 2039840297502938402934, word: "Apple", count:3}, 
  {_id: 20398sdfsdfsdfaaa4asd3, word: "Banana", count:5}
  ]
}]

有没有更好的办法?

解决方法:

如果您不需要索引,可以使用Schema.Types.Mixed(参见:http://mongoosejs.com/docs/schematypes.html)

否则,您不必定义子集合,因为您可以将其定义为:

mongoose.Schema({
  wordcounts: [{
    word: String,
    count: Number
  }]
})

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐