mongodb中是否有任何查询以从对象数组中查找特定对象

时间:2019-05-09 05:21:58

标签: mongodb mongoose

我试图从我的mongodb数据库模式的对象数组中找出一个特定的问题。问题是我不知道如何为这个特定的JSON文件编写或汇总查询。

这是我写的猫鼬查询。

Device.find({ _id: req.params.device_id })
       .select('question.questionID surveyID')
       .then(device => {
         if (device.length == []) {
           errors.nodevice = 'There is no device for this user';
           res.status(404).json(errors);
         }else{

           // res.json(device[0].question.questionID);
           // res.json({ "surveyID" : device[0].surveyID});

           console.log(device[0].question.questionID);

           Survey
                 // .find({"question.id": {$all: device[0].question.questionID} })
                 .find({ "question.id": { "$in": device[0].question.questionID } })
                 .then(question => {
                   if (question.length == []) {
                     errors.question = 'There is no question for this device';
                     res.status(404).json(errors);
                   }else{
                     res.json(question);
                     // res.json({ "surveyID" : device[0].surveyID});
                   }
                 })
                 .catch(err =>
                   res.status(404).json({ error: err })
                 );

这是json文件。

{
"user_id": "asd",
"project_id": "asdad",
"project_name": "asdea",
"question": [
 {
   "id": "Q_1554201813282",
   "type": "checkbox",
   "title": "checkbox1",
   "options": {
     "1554201907907": "c1",
     "1554201917922": "c2",
     "1554201920921": "c3"
   }
 },
 {
   "id": "Q_1554201923908",
   "type": "multipleChoice",
   "title": "multiple",
   "choices": {
     "1554201932066": "m1",
     "1554201936866": "m2"
   }
 }
]
}

1 个答案:

答案 0 :(得分:0)

您可以通过mongo函数python manage.py migrate来实现。
您的查询将如下所示。

ln -s /var/run/mysqld/mysqld.sock /tmp/mysql.sock