在机器人框架中使用AND和OR条件查询mongodb时出错

时间:2017-02-10 12:17:37

标签: robotframework

在我的项目中,我需要使用带有AND和OR的查询从mongodb查询,但是我收到错误。

下面是我的代码:

*** Variables ***
${host}    mongodb://username:password@192.10.23.126/RegressionDB
${port}    27017
${mongDBName}   RegressionDB
${mongoCollection}  Service

${mQuery}        { "service.offerings.offering.offeringType.masterCode": "Plan", $or: [ { "service.offerings.offering.offeringSubType.masterCode": "WS" }, { $and: [ { "service.isDeliveryRequired": "N" } ] } ] }

${mReturnFields}    service.customerCode
${isReturnID}     False

*** Test Cases ***
Query from MongoDatabase
    Connect To MongoDB    ${host}    ${port}
    ${result}=  Retrieve Mongodb Records With Desired Fields  ${mongDBName}  ${mongoCollection}   ${mQuery}   ${mReturnFields}   ${isReturnID}

我收到以下错误:

ValueError: Expecting property name enclosed in double quotes: line 1 column 58 (char 57)

我使用MongoChef执行的相同查询工作正常,但没有使用机器人框架,可能是什么原因。

1 个答案:

答案 0 :(得分:1)

这里的问题与AND和OR无关,我想它与设置属性有关!在设置属性时,值必须是双引号。因为它适用于普通查询,只会抛出此错误和/或可以尝试添加和/或双引号!

那应该解决它!