Mongodb MongooseJS查询选择子文档的属性

Mongodb MongooseJS查询选择子文档的属性,mongodb,mongoose,Mongodb,Mongoose,给定具有以下模式的模型foo { a: String, b: [{c: String, d: String}] } 假设a的值是唯一的,并且假设给定foo文档中的c的值是唯一的。如果我有A和C的A和C值,那么A唯一地标识foo文档,而C唯一地标识foo.b子文档。那么,是否有可能伪造一个向我返回d值的查询 在概念上, foo-->(查找({a:a}))-->foo\u文档---(查找({c:c}))-->foo\u子文档-----(选择(d))-->d的值 提供了足够的信息,我

给定具有以下模式的模型
foo

{
    a: String,
    b: [{c: String, d: String}]
}
假设
a
的值是唯一的,并且假设给定
foo
文档中的
c
的值是唯一的。如果我有
A
C
AC值,那么A唯一地标识
foo
文档,而C唯一地标识
foo.b
子文档。那么,是否有可能伪造一个向我返回
d
值的查询

在概念上,

foo-->(查找({a:a}))-->foo\u文档---(查找({c:c}))-->foo\u子文档-----(选择(d))-->d的值

提供了足够的信息,我只是不知道Mongoose是否有这样的机制。

您可以使用投影操作符来标识匹配的
b
元素,包括:

foo.find({a:a},{b:{$elemMatch:{c:c}}}),函数(err,doc){
//doc.b[0].d包含要查找的d的值。
});