javascriptからSalesforceにアクセスできるapex:RemoteObjectsのクエリ実行時に、間違えた処理を書くと「無効な取得条件エラー」が発生します。

WHERE部分の指定が間違えている可能性もありますが、判定に使用する項目がapex:remoteObjectFieldで宣言されていないことでエラーになっていることもあります。
SELECTで取得する項目だけでなく、WHERE判定で使用する項目もapex:remoteObjectFieldで宣言する必要があるので注意しましょう。
ユーザ情報を取得する場合はこんな感じです。
<apex:remoteObjects >
<apex:remoteObjectModel name="User" fields="Name,Id">
<apex:remoteObjectField name="Phone" />
<apex:remoteObjectField name="Email" />
<apex:remoteObjectField name="Department" />
<apex:remoteObjectField name="SmallPhotoUrl" />
<apex:remoteObjectField name="IsActive" />
</apex:remoteObjectModel>
</apex:remoteObjects>
userObject.retrieve({
where: {
IsActive :{
eq : true
}
},
orderby: [{Name: 'ASC'}],
limit: 1000
},function(err, results) {
if(err) {
alert(err.message);
} else {
// 取得したリストをループ
results.forEach(function(result) {
console.log(result.get('Name'));
});
}
});