Détails du test
MongoDB (de l'anglais humongous qui peut être traduit par « énorme ») est un système de gestion de base de données orienté documents, répartissable sur un nombre quelconque d'ordinateurs et ne nécessitant pas de schéma prédéfini des données. Il est écrit en C++. Le serveur et les outils sont distribués sous licence SSPL, les pilotes sous licence Apache et la documentation sous licence Creative Commons. Il fait partie de la mouvance NoSQL.
Ce test valide vos compétences de base sur les sujets suivants :
- La syntaxe
- Les aggrégations
- Les attributs dynamiques
- Les indices
Exemple de question
CE BLOC EST LE MÊME POUR TOUTES LES QUESTIONS
Vous devez concevoir une marketplace de paysagistes.
Une personne peut s'inscrire en tant que paysagiste. Elle choisit alors les services qu'elle propose parmis une liste préétablie. Elle déclare ensuite - en sélectionnant sur un calendrier - ses disponibilités (une date début et une date de fin, les journées sont toujours entières).
Une autre personne peut s'inscrire sur le site en tant que client. Celle-ci peut alors sélectionner le ou les services que'elle recherche. Une liste de paysagistes lui est alors présentée avec un filtre permettant de ne présenter que les paysagistes disponibles pour certaines journées/périodes.
Si le client trouve un paysagiste adéquat, il peut alors sélectionner les dates dont il a effectivement besoin et passe alors une commande.
Toutes les questions du quizz se réfèrent à ce problème.
####Deux importantes contraintes s'ajoutent pour répondre aux questions:
Aucune redondance de donnée n'est tolérée.
On considèrera le stockage de données structurées (tableau, hash, json, etc.) dans un seul champ de données impossible.
Vous choisissez finalement de modéliser les commandes de la façon suivante :
# paysagistes
{
_id: ObjectId("4c0791e2b9ec877893f3363a"),
name: "John Lennon",
services: ['sculpture', 'allées', 'labyrinthes'],
disponibilites: [{
_id: ObjectId("4c0791e2b9ec877893f3363d"),
start_date: ISODate("2010-04-30T00:00:00.000Z"),
end_date: ISODate("2010-04-31T00:00:00.000Z")
}]
}
# clients
{
_id: ObjectId("4c0791e2b9ec877893f3363a"),
name: "Paul McChicken",
commandes: [{
_id: ObjectId("4c0791e2b9ec877893f3363j"),
disponibilites: [ObjectId("4c0791e2b9ec877893f3363d")]
}]
}
Votre collection #clients actuelle contient les données au format suivant :
{
_id: ObjectId("4c0791e2b9ec877893f3363a"),
name: "Paul McChicken",
}
Quelles sont les étapes pour effectuer la migration de la base de données et intégrer les commandes dans la collection #clients ?
Avis des développeurs et techs
Tests recommandés
- Combien gagne un Data Scientist en 2024 ?
- Toutes nos questions d'entretiens pour Data Scientist