Проверка MongoDB позволяет все - PullRequest
0 голосов
/ 06 сентября 2018

Я начинаю использовать драйвер узла MongoDB и не могу заставить работать проверку вообще.

Я создал следующие объекты проверки с использованием запроса:

validator: { $in: [
  { name: { $type: "string" } }
]}

И этоСхема JSON:

validator: {
 $jsonSchema: {
    bsonType: "object",
    required: ["name"],
    properties: {
      name: {
        bsonType: "string",
        description: "is required and must be a string"
      }
    }
  }
}

Затем, если я попытаюсь вставить следующий документ с этой структурой {name: 2}, он будет добавлен без проверки вообще.

Я прочитал монго иДрайвер узла документирует проверку документа и не может найти способ проверить это.В настоящее время я использую Mongo версии 3.6.7 и драйвер узла версии 3.1.4 на экспресс-сервере версии 4.16.3.

Это весь код:

// create a single user
const createSingleUser = (client, db) => {
  db.collection("users").insertOne({
    name: 2
  }, (err, response) => {
    if (err) console.warn(err);
    console.log("new user added!!!!");
    client.close();
  }); // insert one
};

// create collection and add validator
const createUserCollection = client => {
  const MongoDriverData = client.db("MongoDriverData");
  // create the collection and add validation
  MongoDriverData.createCollection( "users", {
    validator: {
      $jsonSchema: {
        bsonType: "object",
        required: ["name"],
        properties: {
          name: {
            bsonType: "string",
            description: "is required and must be a string"
          }
        }
      }
    }, // validator
    validationAction: "error"
  }, (err, results) => {
    console.log( "Collection created!!!" );
    // now insert a user
    createSingleUser(client, MongoDriverData);
  });
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...