您的架构有问题。您已声明文档的 readConfirmed 键是一个数组,但您没有声明它是一个数组。
例如,如果readConfirmed 是一个字符串数组,您可以在架构中使用以下代码:
readConfirmed: {
type: Array,
label: 'Array of IDs of users who have read and confirmed',
},
'readConfirmed.$': {
type: String,
label: 'Each ID in readConfirmed array',
},
第一个对象告诉simpl-schema readConfirmed 键是一个数组。第二行使用$ 告诉simple-schema 数组中的每个单独项都是一个字符串。
如果每个项目都是一个字符串,这个例子是有效的,但是如果每个项目都是一个对象呢?然后,您需要做的就是添加另一个层,在其中解释对象中的每个键是什么:
readConfirmed: {
type: Array,
label: 'Array of IDs of users who have read and confirmed',
},
'readConfirmed.$': {
type: Object,
label: 'Data about each user who has read and confirmed',
},
'readConfirmed.$._id': {
type: String,
label: 'ID of each user who has read and confirmed',
},
'readConfirmed.$.name': {
type: String,
label: 'Name of each user who has read and confirmed',
},