Как проверить непустое поле с помощью Mongodb validator - PullRequest
0 голосов
/ 10 октября 2019

У меня есть коллекция со схемой:

{
  "name": "Jhon",
  "lname": "Doe",
  "status": "Accepted"
}

Я хочу добавить проверку в эту коллекцию, чтобы при добавлении в нее любого нового документа поле status этого документане должен быть пустым.

Я пытался использовать $jsonSchema validator:

db.createCollection("users", {
    validator: {
       $jsonSchema: {
          bsonType: "object",
          required: [ "name", "status"],
          properties: {
            name: {
                bsonType: "string"
             },
             lname: {
                bsonType:  "string" 
             },
             status: {
                bsonType:  "string" 
             }
          }
       }
    }
 })

Но эта схема принимает документ:

db.users.insert({'name':'abc','status':''})

Как мне проверить, чтоstatus поле не пусто при использовании валидатора mongodb?

1 Ответ

0 голосов
/ 10 октября 2019

Я понял это.
Я использовал Регулярное выражение .

db.createCollection("users", {
    validator: {
       $jsonSchema: {
          bsonType: "object",
          required: [ "name", "status"],
          properties: {
            name: {
                bsonType: "string"
             },
             lname: {
                bsonType:  "string" 
             },
             status: {
                bsonType:  "string",
                pattern : "^[A-Za-z]+$", 
             }
          }
       }
    }
 })
``

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...