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

Wie frage ich eine Reihe von Objekten mit einem Array von Werten in Mungo ab?

Sie könnten eine Kombination aus $objectToArray verwenden und $arrayToObject um Ihr Objekt nach dynamischen Feldnamen zu filtern, aber wenn Ihre Parameter beim Erstellen Ihrer Abfrage bekannt sind, ist es einfacher, den regulären .find() und Projektion anwenden:

db.collection.find({},{ "rank.Person1": 1,  "rank.Person2": 1})

let input = ['Person1', 'Person2'];
let entries = input.map(p => ([`rank.${p}`, 1]))
let projection = Object.fromEntries(entries);
console.log(projection);

Mongo-Spielplatz