MongoDB查询,按用户ID查找全部

时间:2017-08-10 15:12:45

标签: node.js mongodb mongoose

以下是"客户"的结构。在我的数据库中

{
    "_id": {
        "$oid": "xxxxx"
    },
    "user": {
        "$oid": "xxxxx"
    },
    "name": "Test Mobile",
    "email": null,
    "phone": "xxxxx",
    "completed": false,
    "__v": 0
}

我正在尝试使用某个用户ID查询所有客户并按"完成"排序,我可以让所有客户都这样

exports.list = function(req, res, next) {
  Customer.find().sort('-completed').exec(function(err, customers) {
    if (err) return next(err);
    return res.send(customers);
  })
};

我可以根据手机查询

exports.list = function(req, res, next) {
  Customer.find({ phone: "xxxxxxxx"}).sort('-completed').exec(function(err, customers) {
    if (err) return next(err);
    return res.send(customers);
  })
};

我无法做的就是查询用户ID,我尝试了这种方式和变化,但没有运气

exports.list = function(req, res, next) {
  Customer.find({"user.$oid": ObjectId("xxxxxxxxx")}).sort('-completed').exec(function(err, customers) {
    if (err) return next(err);
    return res.send(customers);
  })
};

在查询ID时,不确定我是否遗漏了一些简单的内容?

1 个答案:

答案 0 :(得分:2)

试试这个:

.find({user: xxxx)}) 

没有ObjectId