我想返回出現在數組中最後一個特定位置之前的數組的所有元素,for例子見下面的例子。Mongoose查詢在數組中檢索從索引0到n的元素,其中n是最後一個元素的位置
var arr = [59,34,6,9,45,67,89,56,34,26,56,45] 現在對於位置= 5,這意味着從最後一個56位我想要的第5個位置得到陣列[56,89,67,45,9,6,34,59]
貓鼬架構
var user_coupons_schema = new Schema({
mobile_no: {type: String, unique: true},
coupons: [{type: String}]
});
貓鼬查詢
usercoupons.findOne({mobile_no: mobile_no}, {'_id':0, coupons: { "$slice": [-skip, limit]}}, function(err, docs) {
更新
使用聚合我的代碼下面給出,但有人可以告訴我爲什麼下面的值來爲NaN $切片
內 「arr_size」 - 跳 - > NaN的
usercoupons.aggregate(
{ $match : {mobile_no: mobile_no} },
{ $project: {arr_size: {$size: "$coupons"}} },
{ $project: {_id:0, coupons: { "$slice": [0, "arr_size" - skip]}} },
function(err, docs) {
if (err) {
console.log('Hii1');
} else {
if (docs) {
console.log('Hii2');
} else {
console.log('Hii3');
}
}
}
);
可以提供有關架構的更多信息並顯示您嘗試過的內容嗎? – Kairat
我想使用切片,但在切片[跳過,限制]有兩個參數跳過我可以使用-position,但我不知道限制我應該使用什麼? –