我在搜索我的模型中的数组时遇到了一些麻烦,该数组目前包含虚拟帖子。
我的帖子数组看起来像这样
posts: [
{
image: <filename>,
comments: [],
joined: <number>,
}
]
posts数组atm包含大约10个对象。我需要一种方法来查询这个数组并返回一个对象。我已经尝试过在其他类似问题上给出的答案,但它们都返回了整个用户,这不是我想要的。
我试过了:
model
.find(
{ $match : { "posts.image": req.params.image } },
{ $unwind : "$posts" },
{ $match : { "posts.image": req.params.image } }
)
这也会返回整个对象,包括密码,用户名等。我也尝试了$elemMatch
,但没有运气。
我只希望它返回一个对象(而不是多个对象),因为我不能用req.params
查询数组。
答案 0 :(得分:0)
<强>不确定强> 不完全确定这是否是你要求的,但是获得数组的单个属性值的方法将以这种方式完成
如果我被误解,请澄清你的意思,我会修改我的答案。
var posts = [{
image: "x.jpg",
comments: [],
joined: 12
},
{
image: "x1.jpg",
comments: [],
joined: 121
},
{
image: "ax.jpg",
comments: [],
joined: 2
}
];
for (a = 0; a < posts.length; a++){
console.log(posts[a].image);
}