代码之家  ›  专栏  ›  技术社区  ›  Hernan Humaña

在mongodb中查找带有ID数组的数据?

  •  0
  • Hernan Humaña  · 技术社区  · 6 年前

    我有另一个例子的数组列表,但这对我不起作用,可能是因为我需要使用 ObjectId() 但是我不知道如何解析这个数组,我也不知道是否可能只得到一个param(用户名),而不是完整的数组?

    代码如下:

    var list =      ["5883d387971bb840b7399130","5883d389971bb840b7399131","5883d38a971bb840b7399132"]
    .find({ _id: {$in : list}},{username:1})
    

    你能帮忙告诉我如何创建查询吗?谢谢。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Helping hand    6 年前

    您的查询是正确的,只是需要将您的id包装在内部 ObjectId 使用地图。

    var ObjectId = require('mongodb').ObjectID
    
    var list = ["5883d387971bb840b7399130","5883d389971bb840b7399131","5883d38a971bb840b7399132"]
    
    db.collectionName('newCollection').find({ _id: {$in : list.map( (id) =>  ObjectId(id))}}, {userName:1, _id:0})