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

Dotaz podle typu pole - MongoDB

Toto je očekávané chování. Můžete to udělat jednoduše pomocí "tečkové notace" a $exists operátor

db.hello.find({ 'hobbies.0': { '$exists': true } } )

Dalším způsobem, jak toho dosáhnout, je použití agregace a $isArray operátor dostupný v MongoDB 3.2. To je však méně efektivní, protože $redact provede sken sbírky.

 db.hello.aggregate([ 
    { "$redact": { 
        "$cond": [
             { $isArray: "$hobbies" }, 
             "$$KEEP", 
             "$$PRUNE" 
        ]
    }}
])


  1. Mongoose vytvoří připojení pro podporu více nájemců v node.js

  2. Jak seřadit výsledky podle délky řetězce na MongoDB

  3. Začínáme s MongoDB a Mongoose

  4. Mongo převede všechna číselná pole, která jsou uložena jako řetězec