[英]Meteor and Mongo DB
我有兩個問題。 1)我在MongoDB calender
和calendarios_slaves中有這兩個文檔。 calender
有一個帶有calendarios_slaves
ObjectID數組的子文檔。 我嘗試了好幾種查詢,但都沒有任何結果,如何cxan我拉所有的對象ID的calendarios_slaves
中calender
文件?
這是calender
文件:
{
"_id" : ObjectId("577a09d3e9ac22d62a20ab01"),
"status_visualizacion" : "visible",
"status_tipo" : "Pintura",
"createdAt" : ISODate("2016-07-04T07:01:39.018Z"),
"usuarios_admin" : [
ObjectId("5773976c201bb491f499c180"),
ObjectId("577a03db9da98306f624c3d9"),
ObjectId("577a041d9da98306f624c3da"),
ObjectId("577a07b7e9ac22d62a20aae9"),
ObjectId("577a07c6e9ac22d62a20aaea"),
"Ys6fiychXcSfCgWox"
],
"grupo_usuarios" : [
ObjectId("5773976c201bb491f499c180"),
ObjectId("577a03db9da98306f624c3d9"),
ObjectId("577a041d9da98306f624c3da"),
ObjectId("577a07b7e9ac22d62a20aae9"),
ObjectId("577a07c6e9ac22d62a20aaea")
],
"calendario_slaves" : [
ObjectId("577b6a0114b9512e1e3f4c10"),
ObjectId("577b6a1d14b9512e1e3f4c11"),
ObjectId("577b6a2414b9512e1e3f4c12")
]
}
2)有沒有從流星中的JavaScript查詢中拉出節點。 我使用查詢來獲取流星(客戶端)javascript中的所有整個文檔,但是即使我能夠使用#each循環在html中做到這一點,也無法獲取節點。
Meteor.subscribe("calenders_user_visible");
Template.calendarios_visibles.helpers({
ls_calenderios_visibles: function(){
var result = Calender.find({status_visualizacion: "visible"});
return result;
}
});
<template name= "calendarios_visibles">
<ul>
{{#each ls_calenderios_visibles}}
<li class = "calendarios_slave"> Calendarios slaves: {{calendario_slaves}} </li>
</ul>
{{/each }}
</template>
結果瀏覽器:
Calendarios可見!
Pintura visible
Calendarios slaves: ObjectID("577b6a0114b9512e1e3f4c10"),ObjectID("577b6a1d14b9512e1e3f4c11"),ObjectID("577b6a2414b9512e1e3f4c12")
vehiculo visible
Calendarios slaves: ObjectID("577b6a0114b9512e1e3f4c10"),ObjectID("577b6a1d14b9512e1e3f4c11"),ObjectID("577b6a2414b9512e1e3f4c12")
montaje visible
Calendarios slaves: ObjectID("577b6a0114b9512e1e3f4c10"),ObjectID("577b6a1d14b9512e1e3f4c11"),ObjectID("577b6a2414b9512e1e3f4c12")
有沒有辦法在獲取查詢結果后立即在Javascript中獲取這些ObjectId? 我只對這些ObjectId值感興趣,以進行其他查詢而不在瀏覽器中顯示它們。 有更多經驗的人可以幫助我嗎? 謝謝
對於第一:
如果要獲取單個或多個日歷文檔的結果,有兩種方法。
對於單個文檔:
var calender = calenderCollection.findOne('ID');
var result= [];
if(calender.calendario_slaves.map){
result = calender.calendario_slaves.map(function(data){
return data;
})
}
return data;
對於多個文檔:
var calenders = calenderCollection.find({query}).fetch();
var result= [];
for ( var i = 0; i < calenders.length; i++ ) {
for ( var j = 0; j < calenders[i].calendario_slaves; j++ ) {
result.push(calenders[i].calendario_slaves[j]);
}
}
return result;
對於第二:
<ul>
{{#each ls_calenderios_visibles}}
{{#each calendario_slaves}}
<li class = "calendarios_slave">
Calendarios slaves: {{this}} // You can pass this into another helper to perform some operation.
</li>
{{/each}}
{{/each }}
</ul>
@note:您對我的問題2不太清楚,如果您對問題2還有其他問題,請告訴我。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.