【发布时间】:2016-10-14 09:17:27
【问题描述】:
所以,我想在 mondo db 中设置两个限制:
1.只允许将一个文档插入到 dbs 中,不再允许。此文档添加后无法删除,但可以修改。此外,不能将其他文档添加到该集合中。
此架构下只允许一个值。
{ "_id" : ObjectId("5800"), "seconds" : "120", "__v" : 0 }
不允许再添加新的秒数,只能修改上述文档。
我试过了:
var numbersSchema = new mongoose.Schema({
seconds: { type: Number, min: 60 }
},{ capped : true, size:4000, max : 1 })
但是我仍然可以添加多个文档:
{ "_id" : ObjectId("5800c7f53c609009dc5800f4"), "seconds" : 390, "__v" : 0 }
{ "_id" : ObjectId("5800c81b3c609009dc5800f5"), "seconds" : 590, "__v" : 0 }
2.在架构输入字段上设置最小值。
var numbersSchema = new mongoose.Schema({
seconds: Number
})
因此,在这种情况下,“秒”必须至少为 60 秒作为最小值。我认为这需要在模式中进行更改,但我不知道如何。是否可以将 '>59' 添加到架构中,或者是否已经有 mongo 的选项?
任何提示将不胜感激!
【问题讨论】:
-
为什么要在数据库级别添加限制?不要在应用程序级别插入新记录,仅在应用程序中使用更新查询。
标签: mongodb mongoose schema capped-collections