Le support est en ligne ici :
La partie vidéo seule est ici:
Les sujets abordés sont les suivants:
j'evoque l'injection massive par la commande mongoimport
La syntaxe est la suivante:
./mongoimport --file ../../stations.json --collection stations --db velibdb --jsonArray
Le dernier paramètre (jsonArray) sert à indiquer que les documents JSON sont les uns à la suite des autres dans un tableau.
J'utilise un fichier opendata sur l'état des stations Velib issu du site: http://eaupen.madebymonsieur.com/velib
Le programme ruby servant à mettre à jour les informations des stations est donné ci-dessous:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'mongo' | |
include Mongo | |
@mongo_client = MongoClient.new("localhost",27017) | |
@db = @mongo_client.db('velibdb') | |
@stations = @db["stations"] | |
(75001..75020).each { |arrondissement| | |
arr= arrondissement.to_s | |
puts arr | |
rech = @stations.find({:address => /#{Regexp.quote(arr)}/}).each { |p| | |
id =p['_id'] | |
@stations.update({:_id => id}, {:$set => {:arrondissement => arrondissement}}) | |
} | |
} | |
rech = @stations.find({:arrondissement => nil}).each { |p| | |
id =p['_id'] | |
@stations.update({:_id => id}, {:$set => {:arrondissement => 'banlieue'}}) | |
} |
Les prochaines vidéos porteront sur les recherches dans une base mongoDB.
Aucun commentaire:
Enregistrer un commentaire