如何在mongoDB模式验证中添加双精度?

vx6bjr1n  于 2023-10-16  发布在  Go
关注(0)|答案(1)|浏览(101)

我想在mongoDB中进行双精度的模式验证,修改值。
就像如果我插入或更新一个double值12.1111,它将保存为12.11,就像我们在创建表时在mysql DOUBLE(10,2)中这样做一样。
我得到了这样的答案,但如果可能的话,我想在模式中进行操作

$roundedDouble = round($double, 2);

$document = ['double' => $roundedDouble];

$collection->insertOne($document);
xlpyo6sf

xlpyo6sf1#

您可以在JSON模式定义中使用multipleOf添加验证
| 关键字|类型|定义|行为|
| --|--|--|--|
| multipleOf|数字|number|字段必须是此值的倍数|

{
    "validator": {
        "$jsonSchema": {
            "bsonType": "object",
            "properties": {
                "score": {
                    "bsonType": "double",
                    "multipleOf": 0.01,
                    "description": "a double value with 2 points of precision"
                }
            }
        }
    }
}

相关问题