1
ノードjs mongoose以下のスキーマレベルで記事の説明を検索する必要があります。どのようにマングースで可能になりますか? $ elemMatchを使用しようとしましたが、動作しません。スキーマレベルは次のとおりです。ノードjs mongoose深くネストされたドキュメントで検索
var articleSchema = new Schema({
name: { type: String, required: true },
displayName: { type: String },
description: { type: String },
});
mongoose.model('Article', articleSchema);
var subChapterSchema = new Schema({
name: {type: String, required: true},
displayName: {type: String},
Articles:[articleSchema],
});
mongoose.model('SubChapter', subChapterSchema);
var chapterSchema = new Schema({
name: {type: String, required: true },
displayName: {type: String },
subChapters: [subChapterSchema],
});
mongoose.model('Chapter', chapterSchema);
var agreementSchema = new Schema({
name: {type: String, required: true },
displayName: {type: String },
Chapters: [chapterSchema],
});
mongoose.model('Agreement', agreementSchema);
私は以下のように試みました。しかし、それは動作しません。
var regex = new RegExp(text, "i");
var criteria = {
Chapters.subChapters.Articles : {
$elemMatch: {
description:regex
}
}
}
Agreement.find({criteria},'name displayName',function(err,docs){
if (err)
console.log('error occured in the database');
console.log(docs);
});
'サブチャプタを見つけたいときは
""
を使用する必要があります。[chapterSchema]'や '章:[chapterSchema]' 'agreementSchemaで'? –章:[chapterSchema] –
'key'は大文字と小文字を区別します' chapters'と 'Chapters'は異なっていることに注意してください –