RETS无效的查询语法错误

时间:2018-01-29 19:48:53

标签: javascript node.js rets

我目前正在开发一个网站并从RETS(房地产交易标准)API中提取列表。我的一切工作正常,但我的问题是在尝试深入挖掘查询时。作为参考我正在使用Node RETS Client,但我不确定它与此问题有什么关系。

当我运行以下查询时,它返回相应关联的结果(REBGV =大温哥华房地产委员会)

{ QueryType: 'DMQL2',
 Format: 'COMPACT-DECODED',
 Count: 1,
 StandardNames: 0,
 RestrictedIndicator: '***',
 Limit: 10,
 SearchType: 'Property',
 Class: 'RD_1',
 Query: '(LM_Char10_4=REBGV)' }

但是,当我运行此查询时,我收到错误Illegal number in range for field [L_Area]

{ QueryType: 'DMQL2',
 Format: 'COMPACT-DECODED',
 Count: 1,
 StandardNames: 0,
 RestrictedIndicator: '***',
 Limit: 10,
 SearchType: 'Property',
 Class: 'RD_1',
 Query: '(LM_Char10_4=REBGV),(L_Area=Vancouver)' }

...这让我感到困惑,因为该选项中没有任何数字。有没有人遇到这样的事情,或者对我在查询中做错了什么有任何见解?

1 个答案:

答案 0 :(得分:1)

使用Node RETS Client计算出来,但如果他们遇到这个问题,我会发布任何可能帮助某人的帖子。

获取类的元数据时,它会为您提供相应的名称,以便在不同的上下文中查找更多信息

{ 
  MetadataEntryID: '0166D2F74FDC3AF8',
  SystemName: 'L_Area',
  StandardName: 'ListingArea',
  LongName: 'Area',
  DBName: 'Area',
  ShortName: 'Area',
  MaximumLength: '5',
  DataType: 'Small',
  Precision: '',
  Searchable: '1',
  Interpretation: 'Lookup',
  Alignment: 'Right',
  UseSeparator: '0',
  EditMaskID: 'int_5',
  LookupName: 'Area',
}

在我的例子中,区域字段实际上是由数字引用的,因此要获得字段的所有可能值的列表,请使用“METADATA-LOOKUP-TYPE”标题。在Node Rets客户端中,这样就完成了

client.metadata.getLookupTypes("Property", "Area")

因此,它会在Property类中搜索LookupName Area的字段,然后返回所有可能值的精美列表。

然后在您查询时,您可以搜索(L_Area=1,2,3),并了解您要搜索的区域。