gpt4 book ai didi

validation - 在 mongo 中验证数据的最佳方法是什么?

转载 作者:IT老高 更新时间:2023-10-28 13:15:06 26 4
gpt4 key购买 nike

验证数据插入或更新到 MongoDB 的最佳方法是什么?是编写某种服务器执行的 Javascript 代码来进行验证吗?

最佳答案

MongoDB 3.2 开始,他们添加了 document validation (slides)。

您可以为每个集合指定验证规则,使用 validator使用几乎所有 mongo 查询运算符的选项(除了 $geoNear$near$nearSphere$text$where)。

要使用验证器创建新集合,请使用:

db.createCollection("your_coll", {
validator: { `your validation query` }
})

要向现有集合添加验证器,您可以添加验证器:

db.createCollection("your_coll", {
validator: { `your validation query` }
})

验证仅适用于插入/更新,因此当您在旧集合上创建验证器时,以前的数据将不会被验证(您可以为以前的数据编写应用程序级别的验证)。您也可以指定validationLevelvalidationAction告诉如果文档不通过验证会发生什么。

如果您尝试使用验证失败的内容插入/更新文档(并且没有指定任何奇怪的验证级别/操作),那么您将在 writeResult 上收到错误(遗憾的是错误不会告诉你失败的原因,你只会得到默认的 validation failed):

WriteResult({
"nInserted" : 0,
"writeError" : {
"code" : 121,
"errmsg" : "Document failed validation"
}
})

关于validation - 在 mongo 中验证数据的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2259429/

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