我有一个简单的模式,里面有一个数组。当我创建一个包含映射数组中的项的新项时,映射数组中的项会自动分配_ID。但是,当我试图将项添加到现有项的映射数组时,新的映射是用null
的_id创建的。我如何让mongoose为我生成这个_ID?我在文件里找不到。
{
email: {
type: String,
required: true,
index: true,
},
mapping: [
{
mapToField: {
type: String,
enum: [
"subject",
"location",
"company",
"hours",
"rate",
"startDate",
"endDate",
],
required: true,
},
mapToLabel: {
type: String,
required: true,
},
regex: {
type: String,
required: true,
},
},
],
},
{ timestamps: true }
);
let item = await Mappings.findOne({ _id: id });
return await item.mapping.create(mapping);
return await Mappings.update(
{ _id: id },
{ $push: { mapping } },
{ upsert: true }
);
尝试将映射定义为用户架构文件中的架构。
const mappingSchema = new mongoose.Schema({
mapToField: {
type: String,
enum: [
"subject",
"location",
"company",
"hours",
"rate",
"startDate",
"endDate",
],
required: true,
},
mapToLabel: {
type: String,
required: true,
},
regex: {
type: String,
required: true,
}
})
然后您的主模式变成
{
email: {
type: String,
required: true,
index: true
},
mappings: [mappingSchema]
}
我正致力于将Springfox 2.2.2整合到我的Spring MVC项目中,但是没有像我所说的那样生成API文档。下面是关于我的配置的一些信息。 我已经提供了以下依赖项(以及其他库,如fasterxml、WebJar、正确版本的spring等) Springfox的配置如下: 示例性控制器如下所示: 使用上面的设置,当我执行URL:localserver:8080/myapp/swagger-
我有一份这样的文件: 我想通过将其与数量字段(2*800)相乘来更新价格字段,其中的结果将更新/分配给价格。(对于本例,价格更新为1600)。 更新后的文档: 我的选择查询如下: 我怎样才能做到这一点?
我试图更新一个子文档(有效),然后更新除上一个子文档之外的多个子文档。基本上,每次
我想使用mongoose从多个文档更新多个子文档。 我目前的代码是: 模式的一部分是: 但是这段代码只更新id arr中的最后一个元素。
我很好奇在我的主模式中使用子文档和更深层文档的利弊: 或者 我目前到处都在使用subdocs,但我主要想知道我可能遇到的性能或查询问题。
问题内容: 如果您有子文档数组,Mongoose会自动为每个数组创建ID。例: 有没有办法告诉猫鼬不要为数组内的对象创建ID? 问题答案: 很简单,您可以在以下子模式中定义它: