如何使用sails-filemaker查找一系列记录?

基思·约翰·哈奇森

我在使用sails-filemaker的查找条件或where条件时遇到问题。根据我在sails文档中阅读的内容,我使用的是正确的标准。我正在使用的解决方法是不使用查找或条件,并在查找后删除记录。可以用于很小的记录集,但是并不优雅。

var staffCriteriaFind = {roleId:[1,2]} ;
var staffCriteriaWhere = {or:[{roleID:1},{roleId:2}]} ;

Staff.find().where().exec(function(error,staff){
    /* remove staff members who are not account managers or artists */
    for ( index = staff.length-1; index > 0; index--) {
        var staffMember = staff[index];
        if ( staffCriteriaFind.roleId.indexOf( staffMember.roleId ) == -1 ) {
            staff.splice([index],1) ;
        }
    }
    result.staff = staff ;
    return res.send(responseCode, result ) ;    
});

员工模型是

/**
* Staff.js
*
* @description :: Staff employed by the business
* @docs        :: http://sailsjs.org/#!documentation/models
*/

module.exports = {

    connection: 'filemaker',
    tableName: 'staff-list-api-layout',

    autoPK:false ,
    autoCreatedAt: false ,
    autoUpdatedAt: false ,

  attributes: {
        id: {
            columnName: 'staff_id_',
            type: 'integer',
            primaryKey: true,
            unique:true
        } , 
        role:{
            columnName:'staff_role::role',
            type: 'string'
        },
        timesheetSort:{
            columnName:'staff_role::timesheet_sort',
            type:'string'
        },
        roleId:{
            columnName: 'role_id',
            type: 'integer',
            foreignKey: true
        },
        name:{
            columnName:'full_name',
            type: 'string'
        },
        createdAt:{
            type:'date'
        },
        updatedAt:{
            type:'date'
        }
  }

};

如果我用

var staffCriteriaFind = {roleId:[1,2]} ;
var staffCriteriaWhere = {or:[{roleID:1},{roleId:2}]} ;

Staff.find(staffCriteriaFind).where().exec(function(error,staff){
    result.staff = staff ;
    return res.send(responseCode, result ) ;    
});

我得到的所有工作人员的RoleId = 1,而没有任何一个RoleId = 2。

如果我用

var staffCriteriaFind = {roleId:[1,2]} ;
var staffCriteriaWhere = {or:[{roleID:1},{roleId:2}]} ;

Staff.find().where(staffCriteriaWhere).exec(function(error,staff){
    result.staff = staff ;
    return res.send(responseCode, result ) ;    
});

我根本没有员工记录...

什么是将sailCriteria或whereCriteria与sails-filemaker一起使用的正确方法,该方法需要在整个值范围内进行or或search?

基思·约翰·哈奇森

我最终使用了文件制作器脚本,将参数传递给该脚本,然后提取了roleId以在文件制作器中执行查找。

var staffCriteria = {
                          'staff_id_' : '>0',
                          '-script' : 'find-staff-api-script',
                          '-script.param' : '{roleId:[1,2]}'
                    };
                    Staff.find(staffCriteria).where().exec(function(error,staff){

                        if ( error ) {
                            result.error = error ;
                            result.staffCriteria = staffCriteria ;
                        }
                        result.staff = staff ;
                        return res.send(responseCode, result ) ;    
                    });

有关更多示例,请参见https://gist.github.com/toddgeist/13157485b81f3e2b985e

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

有没有一种方法可以使用LIMIT关键字在Postgres中获取一系列记录

来自分类Dev

如何对一系列元素进行外键查找?

来自分类Dev

Excel;使用if语句查找一系列值的中值

来自分类Dev

查询构建以查找所有一系列记录均具有值的记录

来自分类Dev

搜索向量中的一系列记录

来自分类Dev

如何使用Python将一系列重复的数据行转换为多个记录的列?

来自分类Dev

如何使用Zend Framework的“ BjyAuthorize”来获取一系列已记录的用户角色

来自分类Dev

如何遍历一系列结构

来自分类Dev

如何制作一系列句子?

来自分类Dev

如何打印一系列纸张?

来自分类Dev

如何测试一系列互动?

来自分类Dev

如何制作一系列物品

来自分类Dev

如何串联一系列细胞

来自分类Dev

如何减少一系列if语句?

来自分类Dev

使用has_many从一系列模型中收集唯一记录

来自分类Dev

使用一系列变体

来自分类Dev

如何查找一段时间内发生的一系列交易?

来自分类Dev

如何在CloudKit中查询由一系列用户创建的记录?

来自分类Dev

如何持久化一系列对象以支持日志记录功能?

来自分类Dev

如何仅在一系列列中查找和替换?

来自分类Dev

如何编写用于在数组中查找一系列元素的函数?

来自分类Dev

使用正则表达式在C linux中查找一系列数字

来自分类Dev

查找一系列未使用的主键以批量创建产品编号

来自分类Dev

如何使用Spark处理一系列HBase行?

来自分类Dev

如何使用rxJava实现一系列连续操作?

来自分类Dev

如何使用噪音制作一系列彩色矩形?

来自分类Dev

如何使用一系列ID的CSS设置表格

来自分类Dev

如何使用Bash遍历一系列文件

来自分类Dev

如何使用“安全随机”搜索一系列数字?

Related 相关文章

热门标签

归档