samedi 13 juillet 2013

mongodb : premiers pas avec cette base nosql

Et une vidéo de plus consacrée à mongodb: Les premières manipulations

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:


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'}})
}
view raw velib1.rb hosted with ❤ by GitHub

Les prochaines vidéos porteront sur les recherches dans une base mongoDB.

Aucun commentaire: