sql >> Databáze >  >> NoSQL >> MongoDB

Dotaz Mongodb s poli ve stejných dokumentech

Můžete použít $where :

db.myCollection.find( { $where: "this.a1.a != this.a2.a" } )

Uvědomte si však, že to nebude příliš rychlé, protože to bude muset spustit skriptovací stroj Java a iterovat každý dokument a zkontrolovat stav každého z nich.

Pokud potřebujete provést tento dotaz pro velké sbírky nebo velmi často, je nejlepší zavést denormalizovaný příznak, například areEqual . Přesto taková pole s nízkou selektivitou nepřinášejí dobrý indexový výkon, protože kandidátní sada je stále velká.



  1. Spojení Redis bylo zrušeno z blízké události

  2. Odstraňte duplikáty z MongoDB

  3. Vytvořte jedinečné pole automatického přírůstku pomocí mangusty

  4. nginx uwsgi websockets 502 Bad Gateway upstream předčasně uzavřené připojení při čtení hlavičky odpovědi z upstreamu