我使用mongoose在node.js中连接mongodb,现在我有一个文档架构,如下所示
var ArraySchema = new Schema({
array: [{type: String}],
counter: {type: 'Number', required: true}
});
现在我想获取文件中存在的位置计数器的数组元素,我在SO和大多数问题上阅读了很多这样的问题我发现了mongoose聚合,但我不知道如何使用聚合来解决我的问题。
如果你们中的任何人使用了聚合,请帮助我。
答案 0 :(得分:1)
您可以使用此查询执行此操作:
db.pos.aggregate([
{
$project:{
result:{
$arrayElemAt:[
"$array",
"$counter"
]
}
}
}
])
答案 1 :(得分:1)
在我的猫鼬中使用此查询。
var aggregation = [
{
$project : {
array : {$arrayElemAt: [ "$array", "$counter" ] }
}
}]
db.collectionName.aggregate(aggregation).exec(function(err, model){
if(err){
// handle error}
console.log(model);
})