我是第一次在MEAN堆栈的客户端工作。我想将数据库中的字符串id转换为mongodb ObjectId,以便我可以命中api,它在ObjectId的基础上查找数据。
example
arrayOfId =["5434093d29ca768a74ab3080","5434093d29ca768a74ab3082"]
User.find({"where":{id:{inq:arrayOfId}},function(data));
现在因为arrayOfId具有字符串格式的id,所以我无法通过find api对mongo进行查询。 有没有办法在客户端处理这种转换?
答案 0 :(得分:1)
您可以使用mongoose.Types.ObjectId(yourId)
进行操作,但要找到使用mongoose,您不需要将字符串转换为 mongoose ObjectId 。可以像bellow一样使用
var arrayOfId =["5434093d29ca768a74ab3080","5434093d29ca768a74ab3082"];
User.find({"_id": {$in: arrayOfId }},function(error, data){
//...
});
答案 1 :(得分:0)
mongoose.Types.ObjectId('5434093d29ca768a74ab3080');