Ich machte zwei Sammlungen, eine für Beiträge und eine für Kommentare. Jetzt läuft alles gut, außer dass jeder Kommentar auf jedem Post angezeigt wird. Ich weiß nicht, wie man einen Kommentar mit "seinem" Beitrag verbindet. Ich dachte, ID von Post in seinem Kommentar zu speichern, aber ich weiß nicht, wie man diese zwei später zusammen verbindet. Hier ist der Link meiner App auf GitHub (es ist eine kleine App und es hat einen klaren Code). Vielen Dank! enter link description hereVerbinden von zwei Sammlungen in Meteor (Kommentare auf Beiträge)
Hauptsammlung für Beiträge
Predlozi = new Mongo.Collection('BazaPredlozi');
// ------------------------------------------------------------------------
if (Meteor.isServer) {
Meteor.startup(function() {
});
Meteor.publish('BazaPredlozi', function() {
return Predlozi.find();
});
/************************************/
Accounts.onCreateUser(function (options, user) {
user.profile = options.profile ? options.profile : {};
user.profile.неискоришћениГласови = 3;
user.profile.nivo = 'smrtnik';
return user;
});
/********************************/
};
//--------------------------------------------------------------------------
if (Meteor.isClient) {
Meteor.subscribe('BazaPredlozi');
Template.body.helpers({
Podaci: function() {
return Predlozi.find();
},
YouShallNotPass: function() {
var user = Meteor.user();
var nivo = user && user.profile && user.profile.nivo;
return nivo === 'supermen';
},
});
Template.UnosPredloga.events({
'submit .Prijava': function(event) {
event.preventDefault();
var naslov = event.target.наслов.value;
var opis = event.target.опис.value;
var korisnik = Meteor.user()._id;
Predlozi.insert ({
наслов : naslov,
опис : opis,
унео: korisnik ,
Број_Гласова: 0,
Време_Уноса: new Date()
});
event.target.наслов.value = "";
event.target.опис.value = "";
return false;
}
});
// -------------
}
Haupt HTML
<head>
<title>Видео конференције</title>
</head>
<body style="margin: 0;">
<!-- -->
<div class="kontejner">
<header>
<h1>Пријаве за видео-конференцију</h1>
{{#if currentUser}}
{{> UnosPredloga}}
{{/if}}
</header>
{{> templateSkočko}}
<ul style="border: 3px solid pink; margin: 5px;">
{{#each Podaci}}
<div style="border: 3px solid red; margin: 5px;">
{{> PodaciT}}
{{#if currentUser}}
{{> glasajDugme}}
{{> KomentarForma}}
{{#each komentari}}
{{> PrikazKomentara}}
{{/each}}
{{/if}}
{{#if YouShallNotPass}}
{{> obrišiDugme}}
{{/if}}
</div>
{{/each}}
</ul>
</div>
<!-- -->
<div style="background-color: blue; color: red;"> {{> loginButtons}} </div>
</body>
Beitrag einfügen Vorlage
<template name="UnosPredloga">
<form class="Prijava">
<input type="text" name="наслов" placeholder="Наслов" id="NaslovPredloga" required >
<input type="text" name="опис" placeholder="Опис" id="OpisPredloga" required>
<input type="submit" value="Пошаљи" id="DugmeZaUnosPredloga">
</form>
</template>
anzeigen Post-Vorlage
<template name="PodaciT">
<div>
<div class="prikaze"><p>Наслов:</p>{{наслов}}</div>
<div class="prikaze"><p>Опис:</p>{{опис}}</div>
<div class="prikaze"><p>Написао:</p>{{унео}}</div>
<div class="prikaze"><p>Гласова:</p>{{Број_Гласова}}</div>
<!-- <div class="prikaze"><p>Унето:</p>{{Време_Уноса}}</div> -->
</div>
</template>
Kommentar Sammlung
Komentari = new Mongo.Collection('KomentariKorisnika');
// ------------------------------------------------------------------------
if (Meteor.isServer) {
Meteor.startup(function() {
});
Meteor.publish('KomentariKorisnika', function() {
return Komentari.find();
});
/********************************/
};
//--------------------------------------------------------------------------
if (Meteor.isClient) {
Meteor.subscribe('KomentariKorisnika');
Template.body.helpers({
komentari: function() {
return Komentari.find();
},
});
Template.KomentarForma.events({
'submit .KomentarNaPredlog': function(event) {
event.preventDefault();
Komentari.insert ({
коментар : event.target.datKomentar.value,
коментарисао: Meteor.user()._id,
Време_Уноса: new Date(),
ИДпредлогаКојемКоментарПрипада: this._id,
});
event.target.datKomentar.value = "";
return false;
}
});
// -------------
}
Eingang Kommentar teplate
<template name="KomentarForma">
<form class="KomentarNaPredlog">
<input type="text" name="datKomentar" placeholder="Коментар" id="komentarčić" required >
<input type="submit" value="Коментариши" id="DugmeZaUnosPredloga">
</form>
</template>
Displa y Kommentare template
<template name="PrikazKomentara">
<div>
<div class="prikaze"><p>Коментар:</p>{{коментар}}</div>
<div class="prikaze"><p>Коментарисао:</p>{{коментарисао}}</div>
</div>
</template>
Der Kommentar sollte seine eigene ID und die ausländische ID des Posts haben, zu dem er gehört. – Martin
Ok, ich werde ihn leicht dazu bringen, die ID des Posts zu nehmen, zu dem er gehört, um ihn später so zu machen, dass er neben dem einen Post steht? –