MongoDB如何从数据库中选择数据

时间:2018-01-15 14:20:08

标签: node.js mongodb mongoose

我正在构建一个查询,我可以请求并发布数据库中的所有数据。但现在我需要从数据库中请求1个项目。但我似乎无法使其发挥作用。

// Get translations
router.get('/', (req, res, next)=>{
    Translations.find(function(err,translations){
        res.json(translations);
    })
});

那工作很精细!

// Get specific translations
router.get('/:dataName', (req, res, next)=>{
    Translations.find({attributes: req.params.dataName}, function(err,translations){
        if (err) {
            res.send(err);
        } else {
            res.json(translations);
        }

    })
});

我需要找到的数据是db contactlist->翻译,称为数据名称。

[
  {
    _id: "5a55d8aadae5790530b9b6dc",
    attributes:
    {
      data-name: "h1_welcome_text",
      _id: "5a55d8aadae5790530b9b6dd",
      classes: [
        "welcome_text",
        "header"
      ]
    },
    __v: 0,
    text: [
    {
      language: "nl",
      text: "Welkom op onze applicatie",
      _id: "5a55d8aadae5790530b9b6df"
    },
    {
      language: "eng",
      text: "Welcome to our application",
      _id: "5a55d8aadae5790530b9b6de"
    }]
  },

我只需要搜索"数据名称"。

有人可以帮我这个吗?

1 个答案:

答案 0 :(得分:0)

尝试:

Translations.find({'attributes.data-name': req.params.dataName}, cb)

doc:https://docs.mongodb.com/manual/reference/method/db.collection.find/#query-fields-of-an-embedded-document