MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

MongoDB wählt alle Feldwerte in einer Abfrageliste aus

Nicht in einer einzigen Abfrage ist es nicht.

Es ist nichts Falsches daran, die Ergebnisse einer Abfrage abzurufen und diese als In-Bedingung einzugeben.

var list = db.collectionA.find({},{ "_id": 0, "field": 1 }).toArray();

results = db.collectionB.find({ "newfield": { "$in": list } });

Ihr eigentlicher Zweck ist jedoch nicht klar, da die Verwendung von SQL-Abfragen allein das einzige Beispiel für das ist, was Sie wollen zu erreichen sind im Allgemeinen kein guter Leitfaden zur Beantwortung der Frage. Der Hauptgrund dafür ist, dass Sie wahrscheinlich sollten anders modellieren als relational. Warum sonst überhaupt MongoDB verwenden?

Ich würde vorschlagen, den Dokumentationsabschnitt zu Datenmodellierung zu lesen die mehrere Beispiele zeigt, wie man allgemeine Modellierungsfälle angeht.

Wenn Sie diese Informationen berücksichtigen, können Sie vielleicht noch einmal überdenken, was Sie modellieren, und wenn Sie dann spezifische Fragen zu anderen Problemen dort haben, können Sie Ihre Fragen gerne hier stellen.