私のプロジェクトでは、ANDとORを持つクエリでmongodbからクエリする必要がありますが、エラーが表示されます。以下質問とmongodbのANDとOR条件のRobot Frameworkで
私のコードです:
*** Variables ***
${host} mongodb://username:[email protected]/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
を使用して実行し、同じクエリはそれができるものを、うまくいきましたが、ロボットのフレームワークで作業していません理由。
最初のステップは '$ {mQuery}'をログに記録して、あなたが思うように見えるようにすることです。 –
クエリがANDまたはORを持たない場合、クエリは正常に機能しました –
{"service.offerings.offering.offeringType.masterCode": "Plan"、$または:{{"service.offerings.offering.offeringSubType.masterCode" : "WS"}、{$ and:[{"service.isDeliveryRequired": "N"}]}]}これはあなたのクエリですか?あなたは$か/ $か? – Waman