如圖所示,Table 內有2個 Boolean 欄位, visible(大約2月前已經在用) 和 needFix(昨天才創建)。當我 Query visible ,結果是正常的,回傳100個符合的結果。當我Query needFid,結果是錯誤的,只回傳1一個符合的結果(而且結果總是最近 create 的 object)

//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////
//////////////////////////////////////////////////////////////////////

var _ = require("lodash");

var AV = require('leanengine');

var avAppID = "myappID";
var avAppKey = "myappKey";
var avMasterKey = "myMasterKey";

AV.initialize(avAppID, avAppKey, avMasterKey);

AV.Cloud.useMasterKey();

var CLASS = "Building"

var query = new AV.Query(CLASS);

query.equalTo('needFix', true); // 错误:只回传1个最新 created 的Object,但应该回传100个 Object
//query.equalTo('visible', true); //正常回传100个 Object

query.find().then(function (results) {
console.log('results', results.length)

_.each(results,function(obj){
    console.log("obj: ", obj.id)
})

}, function (error) {
console.log(error)
});

query.equalTo('visible', true);

query.equalTo('needFix', true);

请问是不是设置了默认值

是的!!!!!有解法?

急急急

请问有解吗?
我们这边因为这个问题没法开发

leancloud 怎麽可能release 有问题的功能?

看完说明还是不清楚我要怎麽解,所以leancloud 的默认值是不会写进DB,如果要写进DB我们要另外写一个 script 去 query 每一个object ,再save 进去?

你们可以提供 script 给我跑一次吗?

所以在我的问题内,我是需要 query needFix 吗?

可以在 query 的时候进行组合查询:

AV.Query.or(new AV.Query(CLASS).equalTo('needFix', true), new AV.Query(CLASS).doesNotExist('needFix')).find().then(...)