在Sails.js中从MongoDB获取数据

Fetching data from MongoDB in Sails.js

本文关键字:获取 数据 MongoDB 中从 Sails js      更新时间:2023-09-26

我是Sails.js的新手。我正试图从我的Mongo-Db数据库"TestDB"中获取数据,我有一个集合名称"Components",所以我创建了一个名为Components的模型,其中包含我的集合的属性

Components.js

module.exports = {
 attributes: {
    TaskId: {
      type: 'string',
      required: true
    },
    CompName: {
      type: 'string'
    },
    InitialAttr: {
      type: 'string'
    },
    Value: {
      type: 'string'
    }
  }
};

ComponentsController.js

module.exports = {
    GetComponentList : function(req, res){
        Components.find({ CompName: 'ImageComponent'}).exec(function(err, data) {
                if (err) return next(err);
                res.json(data);  
            });
    }
};

路线:

'/comp' : {
        controller: 'components',
        action: 'GetComponentList'
    }

上述查询在返回数据集的MongoVUE中执行良好,但返回

[]

在Sails.js 中

Waterline ORM希望所有数据库表/集合都是小写的。我猜如果您查看Mongo数据库,您会发现现在有两个集合:Componentscomponents。如果您不关心数据库中的现有数据,您可以直接删除Components集合。否则,您可以使用tableName属性将模型指向现有集合:

module.exports = {
  tableName: 'Components',
  attributes: {
    TaskId: {
      type: 'string',
      required: true
    },
    ...etc...
  }
}