Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Postgresql 续集包括不';工作没有结果_Postgresql_Typescript_Sequelize.js_Sequelize Cli - Fatal编程技术网

Postgresql 续集包括不';工作没有结果

Postgresql 续集包括不';工作没有结果,postgresql,typescript,sequelize.js,sequelize-cli,Postgresql,Typescript,Sequelize.js,Sequelize Cli,我正在做下面的选择,当它有结果返回时,它工作得很好,当我没有时,我有这样一个错误 TypeError:无法读取null的属性“id” 只有当他们的城市没有任何标记时才会发生这种情况,否则它会按预期工作。有人有这个问题吗?错误发生在where子句中或不包含where子句 City.findById(req.params.id,{ include: [{ model: Marker, as: "markers",

我正在做下面的选择,当它有结果返回时,它工作得很好,当我没有时,我有这样一个错误

TypeError:无法读取null的属性“id”

只有当他们的城市没有任何标记时才会发生这种情况,否则它会按预期工作。有人有这个问题吗?错误发生在where子句中或不包含where子句

            City.findById(req.params.id,{
                include: [{   model: Marker, as: "markers",
                          where: {
                              status: '1'
                          },
                }]
              }).then(city =>{
                console.log(city.id);
                   res.status(201).send(city);
              }) .catch(error => {
               console.log(error);
               res.status(400).send(error)
             });
城市

标记

            module.exports = (sequelize, DataTypes) => {
              const Marker = sequelize.define('marker', {
                description: { type: DataTypes.STRING, allowNull: false },
                status: { type: DataTypes.INTEGER, allowNull: false },
                latitude: { type: DataTypes.DECIMAL, allowNull: false },
                longitude: { type: DataTypes.DECIMAL, allowNull: false },
                cityId: {
                   type: DataTypes.INTEGER,
                   references: {
                      model: 'city',
                      key: 'id',
                   },
                   allowNull: false,
                }

              }, { freezeTableName: true});
              Marker.associate = function(models) {
                // associations can be defined here
              };
              return Marker;
            };
已记录查询

Executing (default): SELECT "city"."id", "city"."name", "city"."status", "city".
"latitude", "city"."longitude", "city"."createdAt", "city"."updatedAt", "markers
"."id" AS "markers.id", "markers"."description" AS "markers.description", "marke
rs"."status" AS "markers.status", "markers"."latitude" AS "markers.latitude", "m
arkers"."longitude" AS "markers.longitude", "markers"."cityId" AS "markers.cityI
d", "markers"."createdAt" AS "markers.createdAt", "markers"."updatedAt" AS "mark
ers.updatedAt" FROM "city" AS "city" INNER JOIN "marker" AS "markers" ON "city".
"id" = "markers"."cityId" AND "markers"."status" = '1' WHERE "city"."id" = '4';

因为这一行:

console.log(city.id);
city
null
时,如果查询与数据库中的任何文档都不匹配,则代码的计算结果为
null.id
,这是无效的,因此会出现错误

console.log(city.id);