首页 > 解决方案 > mongodb (with mongoose) 集合的默认文档

问题描述

因此,在我的小应用程序中,我有一个部分,您的应用程序会向您显示表格。并且表应根据用户的需要定制。就像您有(数字,名称,值,日期)之类的列。并且用户应该能够选择他想要查看的列。并且应该保存它们以备将来使用。

有没有一种方法可以在程序开始时在猫鼬模式或某些东西中设置默认设置,并将它们保存到数据库中 .. 像

{
Name: "name",
Selected: true
}

标签: node.jsmongodbmongoose

解决方案


那么您可以通过将用户选择的列存储在您的用户集合中而不是将其存储在您从中提取表数据的集合中来实现这一点。所以你的用户模式应该是这样的:

{
  ...
  userPreferences: [{
    type: String                   // columns user wants to see
  }]          
}

每次用户打开您的应用程序时,仅向他显示其首选项中存在的列。此外,您的应用程序中应该有一项规定,供用户更改这些偏好。

要仅从 mongo 中获取选定的列,您可以使用如下查询:

your_model.find({}, {name:1, value: 1})
.then(result => {
...
})
.catch(err => {
...
});

第二个参数对象表示需要从文档中选择哪些字段。

希望这可以帮助 :)


推荐阅读