我有一个userSchema,其中包含使用猫鼬的一系列子文档。
简化形式如下:
let userSchema = new mongoose.Schema({
email: {
type: String,
unique: true,
trim: true
},
friends: [{
name: String,
description, String
}]
)}
我已经在friends子文档(名称和描述)中添加了复合的全文本搜索索引。
当我尝试按预期方式结识特定朋友时,将返回具有该条件朋友的文档。
return await User.find(
{ $text: { $search: 'some_string'} },
{ friends: true, _id: false}
)
因此,以上代码在符合条件的文档中返回了完整的朋友数组。
我要弄清楚的是,是否有可能在特定文档中只结识特定的朋友。
在我的脑海中,代码可能看起来像这样:
let user = await User.findById('some_id');
user.find(
{ friends: {$text: { $search: 'some_string'}}},
{ friends: true, _id: false}
)
注意:我知道上面的代码将永远无法工作。
我基本上是根据一些标准试图在这份文档中争取到一小部分特定的朋友。
这可能吗?