एक बुनियादी उल्का आवेदन के लिए, मैं इस पर "चारपाई" कहता हूं। यदि आप एक नया प्रोजेक्ट बनाते हैं और केवल संग्रह को परिभाषित करते हैं, तो $pull
ऑपरेटर उम्मीद के मुताबिक काम करता है:
कंसोल:
meteor create tickets
cd tickets
meteor run
फिर एक शेल खोलें और अपना डेटा डालें:
meteor mongo
> db.tickets.insert(data) // exactly your data in the question
फिर बस कुछ बुनियादी कोड और टेम्पलेट तैयार करें:
tickers.js
Tickers = new Meteor.Collection("tickers");
if (Meteor.isClient) {
Template.body.helpers({
"tickers": function() {
return Tickers.find({});
}
});
}
if (Meteor.isServer) {
Meteor.startup(function () {
// code to run on server at startup
});
}
tickers.html
<head>
<title>tickers</title>
</head>
<body>
<h1>Welcome to Meteor!</h1>
<ul>
{{#each tickers}}
{{> ticker}}
{{/each}}
</ul>
</body>
<template name="ticker">
<li>
{{_id}}
<ul>
{{#each entries}}
{{> entry }}
{{/each}}
</ul>
</li>
</template>
<template name="entry">
<li>{{ id }} - {{text}}</li>
</template>
एप्लिकेशन ठीक चल रहा होना चाहिए, इसलिए अपने ब्राउज़र कंसोल में .update()
करें (पढ़ने के लिए इंडेंट):
Tickers.update(
{ "_id": "ZcEvq9viGQ3uQ3QnT" },
{ "$pull": { "entries": { "id": "fc29774dadd7b37ee0dc5e3e" } }}
)
और आइटम को प्रविष्टियों से हटा दिया जाता है और पृष्ठ को आइटम के बिना रीफ्रेश किया जाता है। तो सब चला गया, जैसी कि उम्मीद थी।
यहां तक कि SimpleSchema और Collection2 पैकेज जोड़ने से भी यहां कोई फर्क नहीं पड़ता:
meteor add aldeed:simple-schema
meteor add aldeed:collection2
tickers.js
Tickers = new Meteor.Collection("tickers");
TickerEntries = new SimpleSchema({
"id": {
type: String,
optional: true,
autoValue: function() {
if (!this.isSet) {
return new Mongo.Collection.ObjectID()._str
}
}
},
"text": {
type: String
}
});
Tickers.attachSchema(
new SimpleSchema({
entries: { type: [TickerEntries] }
})
);
if (Meteor.isClient) {
Template.body.helpers({
"tickers": function() {
return Tickers.find({});
}
});
}
if (Meteor.isServer) {
Meteor.startup(function () {
// code to run on server at startup
});
}
डेटा को फिर से इनिशियलाइज़ करें और ब्राउज़र कंसोल में वही कमांड चलाएँ और सब कुछ वही रहता है।
इसे या अपने स्वयं के संचालन या अन्य अंतरों में किसी भी टाइपिंग की गलतियों की जाँच करें कि यह आपके लिए काम क्यों नहीं करता है।
मैं इसे दृढ़ता से सुझाऊंगा, क्योंकि इस तरह "नए सिरे से शुरू करना" अपेक्षित व्यवहार दिखाता है, और यदि आप अलग व्यवहार देख रहे हैं तो यह संभवतः आपके द्वारा इंस्टॉल किए गए किसी अन्य प्लगइन के साथ एक समस्या है।
लेकिन आम तौर पर, यह काम करता है।