sql >> Database >  >> NoSQL >> MongoDB

Hoe vraag ik een set objecten met een array van waarden in mangoest?

Je zou een combinatie kunnen gebruiken van $objectToArray en $arrayToObject om uw object te filteren op dynamische veldnamen, maar als uw parameters bekend zijn wanneer u uw query maakt, is het gemakkelijker om de gewone .find() en pas projectie toe:

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 Speeltuin




  1. MongoDB $project:eerdere pijplijnvelden behouden

  2. mongodb:het converteren van object-ID's naar BSON::ObjectId

  3. De databasedump van een oudere versie van mongo herstellen naar een nieuwe versie van mongo

  4. Sorteer op datumreeks (oplopend) op Mongo