sql >> Database teknologi >  >> NoSQL >> MongoDB

Find nogle værdier i en mongodb-samling?

Fantastisk, du vil elske Mongo.

I det eksempel, du postede, gentager programmet et sæt resultater. I bruger/adgangskodeproblemet beskriver du, hvad du faktisk forsøger at gøre, er at få ét dokument (ikke et sæt dokumenter) baseret på nogle kriterier.

På skallen, der ville se sådan ud:

n = "login"
p = "password"

db.users.findOne({ user: n, password: p})

Bemærk, at jeg bruger findOne i stedet for find, som returnerer et dokument i stedet for en markør til mange dokumenter.

Lad os nu tage et kig på java-driverens eksempel:

BasicDBObject query = new BasicDBObject();

query.put("i", 71);
cur = coll.find(query);

while(cur.hasNext()) {
    System.out.println(cur.next());
}

BasicDBO-objektet opretter forespørgselsobjektet, og derefter sætter du forskellige kriterier, som tilsammen danner din forespørgsel.

Så i stedet for query.put("i", 71); du ville gøre noget som:

query.put("user", n)
query.put("password", p)

og... i stedet for while-løkken skal du bare bruge findOne i stedet for find, så du ikke behøver at iterere over resultatsættet med 1 objekt (meningsløst).

Du kan læse mere om findOne() her .



  1. Python og MongoDB databaseudvikling

  2. Mongo filter array af array af array

  3. Docker mongodb deler volumen med mac os x

  4. Gruppér efter værdier og forhold