php-mogodb数据模型验证


php mongodb data model validation

也许我处理得不对,但是,在与前端开发人员合作时,我想提供一个"模型",提交的JSON数据需要根据该模型进行验证。前端开发人员将为我的mongodb集合中的文档提交新的记录数据。例如,我知道数据需要包含一个"名称",并且我知道它需要包含包含单个记录的数组"galleryphotos"。我知道我需要包括一个"描述"。他们还可以提供其他字段,但我不想强迫他们提供,但是,我想确保他们不会提交一堆不应该提交的字段,IE补充道:dumpfieldname:"哈哈哈"或其他什么。

mongodb支持这样的模型吗?人们是如何用PHP做到这一点的?

[PHP]您可以创建一个具有属性的对象/类,并使用一种方法来验证发布的数据:

ModelNameValidation
{
    public $name, $galleryPhotos, $description;
    public function verify($postedData)
    {
        // add verification logic heret
        // at error return false, else return true
        // e.g.
        foreach ($postedData as $key => $val) {
            if (!property_exists($this, $key)) return false;
    }
}

检查http://php.net/manual/en/function.property-exists.php有关property_exists函数的更多信息。

更新:记住使用转义、验证来检查输入,您可以在这里使用加密来混淆密钥名称,以确保严格的安全性。