在尝试对收集用户进行切片并将其记录到控制台时,由于某些原因,应该切片的字段不是出于某种原因。
var filteredUsers =
users.find({},
{
"followers": { "$slice": -1 },
"subscribers": { "$slice": -1 },
"hour": { "$slice": -1 }
}
).toArray();
filteredUsers.forEach(user => {
console.log(user);
});
我正在使用3.2以上的mongodb版本,所以这里不应该成为问题。
日志输出:
{
_id: 'fakeId',
subscribers: [ 0, 0, 0, 0, 0, 0, 0, 0, 0, null, 0 ],
followers: [ 1, null, 1, null, 1, 0, 1, 0, 1, 1, 1 ],
hour:
[ 313347,
316733,
316735,
316968,
316969,
317349,
317350,
318746,
318747,
324667
]
}
答案 0 :(得分:0)
我建议您将MongoDB版本升级到 v3.6.5 。
您上面的查询就像黄油一样工作,这是输出:
{
"_id" : "fakeId",
"subscribers" : [
0.0
],
"followers" : [
1.0
],
"hour" : [
324667.0
]
}
让我知道此升级是否有效。