gpt4 book ai didi

javascript - 使用 MongoDB 语法和 SimpleSchema 验证将对象插入数组

转载 作者:可可西里 更新时间:2023-11-01 09:21:38 27 4
gpt4 key购买 nike

想法是将一个看起来像这样的对象插入一个名为likes 的字段,它是一个数组:

{
movieId: "VgtyvjVUAjf8ya",
information: {
genre: "Action",
length: "160",
language: "English"
}
}

我以为这样就可以了:

Meteor.users.update({_id: Meteor.userId()}, {$push: {likes: {movieId: movieId, information: informationObj}}})

但要么它是错误的,要么 SimpleSchema 的验证有一些问题(尽管它没有提示),因为我得到的只是数组中的一个空对象!不,值(value)观本身没有任何问题,我已经检查过了。

相关字段的 SimpleSchema 如下所示:

likes: {
type: [Object],
optional: true
}

我已尝试通读文档,但我不太明白哪里出了问题。有人知道吗?

最佳答案

如果您不关心验证被插入 likes 属性的对象,您可以将 blackbox 设置为 true模式,像这样:

likes: {
type: [Object],
optional: true,
blackbox: true
}

这将允许您将任何您想要的内容放入“类似”对象中。

如果您确实想要验证“like”对象,那么您需要创建一些额外的模式,如下所示:

var likeInfoSchema = new SimpleSchema({
genre: {
type: String
},
length: {
type: String
},
language: {
type: String
}
});

var likeSchema = new SimpleSchema({
movieId: {
type: String
},
information: {
type: likeInfoSchema
}
});

Meteor.users.attachSchema(new SimpleSchema({
// ...
likes: {
type: [likeSchema]
}
}));

关于javascript - 使用 MongoDB 语法和 SimpleSchema 验证将对象插入数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31061174/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com