2017-08-10 33 views
0

這裏是「顧客」的結構,我的數據庫MongoDB的查詢,發現所有通過用戶ID

{ 
    "_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); 
    }) 
}; 

似乎什麼我不能做的就是查詢userid,我試過這種方式和變化,但沒有運氣

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的時候丟失了一些簡單的東西嗎?

+0

什麼是蒙戈錯誤消息?或者什麼都沒有來? –

+0

嘗試'.find({「user」:ObjectId(「xxxx」)})' –

+0

當我這樣做時沒有錯誤,當我嘗試jcmetz的方式我得到消息:「ObjectId沒有定義」} – user2389087

回答

1

試試這個:

.find({user: xxxx)}) 

沒有的ObjectId

+0

這樣做,簡單最後,謝謝 – user2389087