Node.js Mongoose SchemaTypes语法:ObjectId数组

Node.js Mongoose SchemaTypes语法:ObjectId数组,node.js,mongoose,mongoose-schema,Node.js,Mongoose,Mongoose Schema,这是吗 和这个一样 blog: [{type: Schema.Types.ObjectId, ref: 'BlogEntry'}] 还是第二个例子不正确?两者都是正确的,但它们不一样。在第一个例子中,关键的blog是一个对象数组。每个对象包含两个键:type和ref,其中type是单个ObjectId,ref已经定义。 在第二个例子中,关键blog不再是一个数组,而是一个对象。现在,在这个对象中,键类型是ObjectId数组。谢谢您的解释。第二个示例不是更好吗,因为“ref”键在每个对象中都是

这是吗

和这个一样

blog: [{type: Schema.Types.ObjectId, ref: 'BlogEntry'}]

还是第二个例子不正确?

两者都是正确的,但它们不一样。在第一个例子中,关键的blog是一个对象数组。每个对象包含两个键:type和ref,其中type是单个ObjectId,ref已经定义。
在第二个例子中,关键blog不再是一个数组,而是一个对象。现在,在这个对象中,键类型是ObjectId数组。

谢谢您的解释。第二个示例不是更好吗,因为“ref”键在每个对象中都是多余的?不客气,这取决于应用程序需要什么。是的,在第二个示例中,您避免了冗余。我发现第二个选项很有用,因为您可以使用它在schema属性上设置自定义setter。正是我想要的。
blog: {type: [Schema.Types.ObjectId], ref: 'BlogEntry'}