2016-05-27 4 views
0

Я не нашел ответа на вопрос о том, что произойдет, когда я попытаюсь добавить точки в коллекцию Mongo с дополнительными или меньшими полями, чем заявленная схема. Рассмотрим следующий пример использования мангуста:Вставить точки в коллекцию Mongo, которые отличаются от схемы

var PointSchema = new Schema({ 
    location: { 
    type: [Number] 
    }, 
    name: String 
}) 

Что произойдет, если я попытаюсь вставить документ с только полем местоположения?

И что произойдет, если я попытаюсь вставить документ, который имеет все поля в схеме, но имеет дополнительное поле, не объявленное в схеме?

Мне также интересно узнать, что ответ будет другим, если бы я использовал только оболочку монго вместо мангуста.

ответ

0
  1. Если вы попробуете запрос мангуста с использованием зарегистрированной схемы a. Если вы вставляете одно поле, оно будет работать, потому что ничто не описывает любые поля как «обязательные», которые вы можете сделать, если хотите избежать отсутствующих полей. b. Если вы введете поле, не объявленное в схеме из node.js, вы получите запрос 400 Bad. c. Однако, если вы попытаетесь вставить любое количество полей из оболочки mongodb, в любую сборку документов, это будет нормально работать