Mongodb $切片没有切片数据

时间:2018-07-31 09:49:33

标签: javascript node.js mongodb mongoose slice

在尝试对收集用户进行切片并将其记录到控制台时,由于某些原因,应该切片的字段不是出于某种原因。

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
 ]
}

1 个答案:

答案 0 :(得分:0)

我建议您将MongoDB版本升级到 v3.6.5

您上面的查询就像黄油一样工作,这是输出:

{ 
    "_id" : "fakeId", 
    "subscribers" : [
        0.0
    ], 
    "followers" : [
        1.0
    ], 
    "hour" : [
        324667.0
    ]
}

让我知道此升级是否有效。