ben basit bir sorgu var döndürür:Ayrıştırma Bulut kodu "ilk" sorgusu dizisi aşağıdaki gibi farklı sonuçlar
var getGreaterQuestion = function (gid) {
var query = new Parse.Query(Parse.Object.extend("Question"));
query.equalTo("groupId", gid);
return query.first();
}
Bu işlevin oluşan bir dizi hazırlıyorum: pack
dizisinde
var groupIds = _.range(1, 17);
var groupIdAndRandomNumberPack = _.map(groupIds, function (gid) {
return {groupId: gid, random: Math.random()};
});
var pack = _.map(groupIdAndRandomNumberPack, function (queryItem) {
return getGreaterQuestion(queryItem.groupId, queryItem.random);
});
, Question
sınıfı için 16 farklı "ilk" sorgu var.
ben kod parçacığı aşağıdaki kullanarak bu sorguyu çalıştırıyorum:
return Parse.Promise.when(pack).then(function() {
console.log("arguments : " + JSON.stringify(arguments));
...
...
);
argümanlar MongoDB veri almak benim sorgunun sonucudur.
{
"0":{QuestionObject},
"1":{QuestionObject},
...
"16":{QuestionObject}
}
Ben MongoLAB üzerinde tanımlı MongoDB ile benim yerel ayrıştırma örneğinde bu sorguyu çalıştırırsanız, aşağıdaki sonuçları verir: Ben ayrıştırma arka uçta bu sorguyu çalıştırırsanız aşağıdaki gibi
, argümanlar json biçimi gösterilmiştir:
{
"0":[
{QuestionObject},
{QuestionObject},
....
{QuestionObject}
]
}
Bu farklılığın nedeni nedir? MongoDB veya parse express uygulamasında, back back verirken aynı sonucu elde etmek için başvurmam gereken herhangi bir konfigürasyon var mı?
Ouch, "adaptif when()", muhteşem ve kafa karıştırıcı arasında bir yere düşer. Alışmak biraz zaman alacak. –