0

我是新手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 填写数据,我正在为 Project 填写数据Name
删除项目时,我需要进行软删除,其中我将设置deletedAt值和deletedBy值。
在获取所有项目的列表时,它不应该被删除的项目。
我想到的一种方法是使用查询获取所有项目:

Project.find(function (err, projList) {
..
}  

然后对每个项目进行如下检查:

if (project.hasOwnProperty('deletedBy') && project.deletedBy != null) {
   //Dont include this in list 
  }  

有什么办法,而不是我手动检查已删除的项目,可以使用查询来完成吗?即省略所有已删除的项目。
提前致谢。

4

1 回答 1

1
Project
    .find()
    .where({deletedAt : null})
    .exec(function(err, projectList){
..
});

根据您的模型/数据库,您可能必须使用 defaultsTo: null 设置 deletedAt

name: {
    type: 'string',
    required: true
},
deletedAt: {
    type: 'datetime',
    defaultsTo: null,
},  
deletedBy: {
    model: 'User',
} 
于 2014-11-07T22:35:26.773 回答