У меня есть MongoCollection
с aldeed:simple-schema
прикрепленными, где content
свойства имеет тип Object
:Метеор - Простая схема теряющих свойств объекта
Следующий код записывает документ на консоль, а затем вставляет его, а затем извлекает документ правильный идентификатор и записывает это на консоль:
console.log(doc);
const id = notes.collection.insert(doc);
let newdoc = notes.collection.findOne({_id: id});
console.log(newdoc);
Во время операции кругового значения внутри объекта недвижимости контента теряется.
Перед вставкой:
I20160304-16:52:24.722(-5)? { doctorId: 'xD7FiSfYdqwk94gQ6',
I20160304-16:52:24.723(-5)? patientId: '4wG3nnkzrfH4W2hsG',
I20160304-16:52:24.723(-5)? created: 1457128344,
I20160304-16:52:24.723(-5)? type: 'note',
I20160304-16:52:24.727(-5)? content: { noteText: 'Test' } }
Когда извлекается из базы данных:
I20160304-16:52:24.734(-5)? { _id: 'w6rRoMqtJc5EKFKFs',
I20160304-16:52:24.735(-5)? doctorId: 'xD7FiSfYdqwk94gQ6',
I20160304-16:52:24.735(-5)? patientId: '4wG3nnkzrfH4W2hsG',
I20160304-16:52:24.735(-5)? created: 1457128344,
I20160304-16:52:24.736(-5)? type: 'note',
I20160304-16:52:24.736(-5)? content: {} }
Я не понимаю, почему это происходит. Это спецификация атрибута контента в простой-схеме:
Carin.subschemas.object = {
type: Object,
optional: false
};
Спасибо, что пропустил этот бит. Я по-прежнему считаю поведение нечетным, что объект вставлен вместо ошибки проверки. Для этого есть причина? – Hans
Я ничего не видел в источнике, чтобы указать аргументацию, к сожалению. –