Dieser Meteor-Code muss prüfen, ob ein bestimmtes Dokument in der Sammlung vorhanden ist, indem überprüft wird, ob ein Cursor zurückgegeben wird, und wenn kein Cursor zurückgegeben wird, ist das Dokument nicht vorhanden. aber es gibt immer true zurück, auch wenn es keinen Wert "alosh" für das Feld text
in einem der Dokumente in der Sammlung
gibt.
Warum und wie kann es behoben werden?Prüfen, ob Sammlung finden einen Cursor zurückgeben
if (myCollection.find({text: 'alosh'}, {limit: 1})) {console.log('found');}
bearbeiten
Der Grund, warum ich nicht colllection.findOne
verwendet haben ist mein Verständnis, dass es langsamer wird viel nach this post
Fair enough auf Ihrem bearbeiten, aber es ist erwähnenswert, dass Meteor im Grunde nicht 'finden() Grenze (1)' für 'FindOne 'auf jeden Fall (siehe [Definition] (https://github.com/meteor/meteor/blob/f0404b6e0d50ce80949f896d346d5b2557da5494/packages/minimongo/minimongo.js#L122)). Und wenn Sie das 'count()' hinzugefügt haben, ist es wirklich nicht klar, dass Sie signifikante Einsparungen erzielen (siehe Geschwindigkeitstest [hier] (https://gist.github.com/jmikola/5208918)) – rubie