我是SailsJS
的新用户并将其用于应用程序,并在删除Project
模型时遇到查询问题
项目模型:
name: {
type: 'string',
required: true
},
deletedAt: {
type: 'datetime'
},
deletedBy: {
model: 'User',
}
用户模型:
name: {
type: 'string',
required: true
},
email: {
type: 'string',
required: true
}
在创建项目时,Sails会自动填写createdAt和updatedAt的数据,我正在为项目Name
填写数据。
在删除项目时,我需要进行软删除,其中我将设置deletedAt
值和deletedBy
值。
在获取所有项目的列表时,不应该删除已删除的项目
我想到的一种方法是使用查询来获取所有项目:
Project.find(function (err, projList) {
..
}
然后对每个项目进行如下检查:
if (project.hasOwnProperty('deletedBy') && project.deletedBy != null) {
//Dont include this in list
}
有没有办法,而不是我手动检查已删除的项目,可以使用查询吗?即省略所有已删除的项目 在此先感谢。
答案 0 :(得分:1)
Project
.find()
.where({deletedAt : null})
.exec(function(err, projectList){
..
});
根据您的型号/数据库,您可能需要使用defaultsTo:null
设置deletedAtname: {
type: 'string',
required: true
},
deletedAt: {
type: 'datetime',
defaultsTo: null,
},
deletedBy: {
model: 'User',
}