gpt4 book ai didi

node.js - 将站点配置存储为 Mongoose 模型

转载 作者:可可西里 更新时间:2023-11-01 09:39:25 25 4
gpt4 key购买 nike

我有网站配置(目前存储为 JSON 文件),我想将其移动到 MongoDB 并可能使用 Mongoose 来处理读写操作并通过模式执行验证。

Configuration是一个key数量有限的对象,类似于:

{
siteOffline: false,
storeOffline: false,
priceMultipliers: {
a1: 0.96
a2: 0.85
},
...
}

是否应该将其制成具有键值条目的集合?不确定在这种情况下如何实现 Mongoose 架构。

是否应该将其与单个文档组成一个集合?不确定如何保证一次只有一个文档。

还有其他选择吗?

最佳答案

好的,一次做一件事:

如果你想使用 mongoose,你应该将完整的配置作为一个文档:

var siteConfig = new Schema({
siteOffline: Boolean,
storeOffline: Boolean,
priceMultipliers: {
a1: Number
a2: Number
}
});

然后,如果你想要一个只有一个文档的集合,你可以使用 MongoDB capped collections

我建议您查看 Mongoose 允许的多个选项,here

您的单文档集合的架构类似于:

   var config = new Schema({
siteOffline: Boolean,
storeOffline: Boolean,
priceMultipliers: {
a1: Number
a2: Number
}
}, {
collection:'config',
capped: { size: 1024, max: 1}
});

虽然只有一个文档的“集合”有点讽刺:)

另一种可能更适合您的“hack”解决方案是使用安全字段(您无法更改其值),并在该字段上添加唯一索引。 Read this for more info该字段可能存在于文档中,但不存在于模型(虚拟)中。同样,这很老套,但是您的用例还是有点奇怪 :)

关于node.js - 将站点配置存储为 Mongoose 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40882954/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com