我在嘗試從流星集合中獲取數據時遇到了一些問題,我需要一些建議。從流星集合中檢索數據
該集合已被成功定義,發佈和訂閱。如果我將數據發送到一個模板,它顯示罰款:
Template.Lists.Projects = function(){
return Projects.find();
};
但我試圖顯示它之前使用的數據,這是我遇到的問題。首先,我發現find()和findOne()之間存在一些不一致。 find(selector)工作正常並返回一個遊標,但findOne(selector)返回「undefined」。我真的只是在尋找1個條目,所以find()似乎沒有必要。
返回LocalCollection.Cursor:
var find = Projects.find({_id: "3fd33eed-9735-4376-860e-3be383beae2f"});
console.log(find);
,則返回undefined:在LocalCollection.Cursor使用.fetch()時
var find = Projects.findOne({_id: "3fd33eed-9735-4376-860e-3be383beae2f"});
console.log(find);
我的下一個問題出現了。它返回一個空數組。
var find = Projects.find({_id: "3fd33eed-9735-4376-860e-3be383beae2f"});
var fetch = find.fetch();
console.log(fetch);
這所有返回的是下面的行:
[]
當我嘗試指定從陣列我想顯示,像一個特定的鍵:
var find = Projects.find({_id: "3fd33eed-9735-4376-860e-3be383beae2f"});
var fetch = find.fetch();
console.log(fetch.name);
它返回undefined。
我仍然熟悉Meteor,從未使用MongoDB(或minimongo),所以我可能只是犯了一些愚蠢的錯誤。如果任何人都可以向我指出,我會很高興!
你想在顯示數據之前使用數據,你可以使用template.templateName.rendered來做到這一點,如果渲染是在每個模板中,模板代表數據本身,就像你可以使用「this」 ,它只是你的文件。我會舉一個例子來證明。 – crapthings