Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
GÄLLER FÖR:
Mongodb
Important
Vill du migrera ett befintligt MongoDB-program eller använda MQL-funktioner (MongoDB Query Language) ? Överväg Azure DocumentDB.
Letar du efter en databaslösning för storskaliga scenarier med ett serviceavtal på 99,999% tillgänglighetsnivå (SLA), snabb autoskalning och automatisk redundans i flera regioner? Överväg Azure Cosmos DB för NoSQL.
Azure Cosmos DB for MongoDB stöder MongoDB-frågor.
Den här artikeln beskriver följande uppgifter:
- Köra frågor mot data som lagras i din Azure Cosmos DB-databas med MongoDB-gränssnittet
Du kan komma igång med hjälp av exemplen i den här artikeln.
Exempeldokument
Frågorna i den här artikeln använder följande exempeldokument.
{
"id": "WakefieldFamily",
"parents": [
{ "familyName": "Wakefield", "givenName": "Robin" },
{ "familyName": "Miller", "givenName": "Ben" }
],
"children": [
{
"familyName": "Merriam",
"givenName": "Jesse",
"gender": "female", "grade": 1,
"pets": [
{ "givenName": "Goofy" },
{ "givenName": "Shadow" }
]
},
{
"familyName": "Miller",
"givenName": "Lisa",
"gender": "female",
"grade": 8 }
],
"address": { "state": "NY", "county": "Manhattan", "city": "NY" },
"creationDate": 1431620462,
"isRegistered": false
}
Exempelfråga 1
Med tanke på exempelfamiljedokumentet returnerar följande fråga de dokument där fältet id matchar WakefieldFamily.
Fråga:
db.families.find({ id: "WakefieldFamily"})
Resultat:
{
"_id": "ObjectId(\"58f65e1198f3a12c7090e68c\")",
"id": "WakefieldFamily",
"parents": [
{
"familyName": "Wakefield",
"givenName": "Robin"
},
{
"familyName": "Miller",
"givenName": "Ben"
}
],
"children": [
{
"familyName": "Merriam",
"givenName": "Jesse",
"gender": "female",
"grade": 1,
"pets": [
{ "givenName": "Goofy" },
{ "givenName": "Shadow" }
]
},
{
"familyName": "Miller",
"givenName": "Lisa",
"gender": "female",
"grade": 8
}
],
"address": {
"state": "NY",
"county": "Manhattan",
"city": "NY"
},
"creationDate": 1431620462,
"isRegistered": false
}
Exempelfråga 2
Nästa fråga returnerar alla barn i familjen.
Fråga:
db.families.find( { id: "WakefieldFamily" }, { children: true } )
Resultat:
{
"_id": "ObjectId("58f65e1198f3a12c7090e68c")",
"children": [
{
"familyName": "Merriam",
"givenName": "Jesse",
"gender": "female",
"grade": 1,
"pets": [
{ "givenName": "Goofy" },
{ "givenName": "Shadow" }
]
},
{
"familyName": "Miller",
"givenName": "Lisa",
"gender": "female",
"grade": 8
}
]
}
Exempelfråga 3
Nästa fråga returnerar alla familjer som är registrerade.
Fråga:
db.families.find( { "isRegistered" : true })
Resultat:
Inget dokument returneras.
Exempelfråga 4
Nästa fråga returnerar alla familjer som inte är registrerade.
Fråga:
db.families.find( { "isRegistered" : false })
Resultat:
{
"_id": ObjectId("58f65e1198f3a12c7090e68c"),
"id": "WakefieldFamily",
"parents": [{
"familyName": "Wakefield",
"givenName": "Robin"
}, {
"familyName": "Miller",
"givenName": "Ben"
}],
"children": [{
"familyName": "Merriam",
"givenName": "Jesse",
"gender": "female",
"grade": 1,
"pets": [{
"givenName": "Goofy"
}, {
"givenName": "Shadow"
}]
}, {
"familyName": "Miller",
"givenName": "Lisa",
"gender": "female",
"grade": 8
}],
"address": {
"state": "NY",
"county": "Manhattan",
"city": "NY"
},
"creationDate": 1431620462,
"isRegistered": false
}
Exempelfråga 5
Nästa fråga returnerar alla familjer som inte är registrerade och tillståndet är NY.
Fråga:
db.families.find( { "isRegistered" : false, "address.state" : "NY" })
Resultat:
{
"_id": ObjectId("58f65e1198f3a12c7090e68c"),
"id": "WakefieldFamily",
"parents": [{
"familyName": "Wakefield",
"givenName": "Robin"
}, {
"familyName": "Miller",
"givenName": "Ben"
}],
"children": [{
"familyName": "Merriam",
"givenName": "Jesse",
"gender": "female",
"grade": 1,
"pets": [{
"givenName": "Goofy"
}, {
"givenName": "Shadow"
}]
}, {
"familyName": "Miller",
"givenName": "Lisa",
"gender": "female",
"grade": 8
}],
"address": {
"state": "NY",
"county": "Manhattan",
"city": "NY"
},
"creationDate": 1431620462,
"isRegistered": false
}
Exempelfråga 6
Nästa sökfråga returnerar alla familjer där barnens betyg är 8.
Fråga:
db.families.find( { children : { $elemMatch: { grade : 8 }} } )
Resultat:
{
"_id": ObjectId("58f65e1198f3a12c7090e68c"),
"id": "WakefieldFamily",
"parents": [{
"familyName": "Wakefield",
"givenName": "Robin"
}, {
"familyName": "Miller",
"givenName": "Ben"
}],
"children": [{
"familyName": "Merriam",
"givenName": "Jesse",
"gender": "female",
"grade": 1,
"pets": [{
"givenName": "Goofy"
}, {
"givenName": "Shadow"
}]
}, {
"familyName": "Miller",
"givenName": "Lisa",
"gender": "female",
"grade": 8
}],
"address": {
"state": "NY",
"county": "Manhattan",
"city": "NY"
},
"creationDate": 1431620462,
"isRegistered": false
}
Exempelfråga 7
Nästa databasfråga returnerar alla familjer där barnmatrisens storlek är 3.
Fråga:
db.Family.find( {children: { $size:3} } )
Resultat:
Inga resultat returneras eftersom det inte finns några familjer med fler än två barn. Endast när parametervärdet är 2 lyckas den här frågan och returnerar det fullständiga dokumentet.
Nästa steg
I den här självstudien har du gjort följande:
- Lärde dig hur man gör frågor med hjälp av Azure Cosmos DB för MongoDB
Du kan nu fortsätta till nästa självstudie för att lära dig hur du distribuerar dina data globalt.