martedì 23 aprile 2013

MongoDB Shell


Alcune info prese dal corso di Mongo sulla Mongo University


Ritorna la funzionalità:


PRIMARY> db.names.save
function (obj) {
    if (obj == null || typeof obj == "undefined") {
        throw "can't save a null";
    }
    if (typeof obj == "number" || typeof obj == "string") {
        throw "can't save a number or string";
    }
    if (typeof obj._id == "undefined") {
        obj._id = new ObjectId;
        return this.insert(obj);
    } else {
        return this.update({_id:obj._id}, obj, true);
    }
}


Uso di variabili assegnate:

> db.names.save({name:"furetto"});
> db.names.find();
{ "_id" : ObjectId("515ea7d69f97aede503daa70"), "name" : "furetto" }
> var f = db.names.findOne();
> f;
{ "_id" : ObjectId("515ea7d69f97aede503daa70"), "name" : "furetto" }
> f.name2 = "pippo";
pippo
> f;
{
"_id" : ObjectId("515ea7d69f97aede503daa70"),
"name" : "furetto",
"name2" : "pippo"
}
> db.names.save(f);
> db.names.find();
{ "_id" : ObjectId("515ea7d69f97aede503daa70"), "name" : "furetto", "name2" : "pippo" }

Dati Testi con Javascript:

> for(i=0;i<1000;i++){db.scores.insert({"score":i})};


Escludere _id dalle query:

> db.names.find({"name2":"pippo"},{"_id:" 0, "name2":1});
{  "name2" : "pippo" }


Query tra estremi anche di caratteri:

>db.names.find({"name2":{$gte : "p", $lte:"z"}})

Query per tipologia di campo (per le tipologie di field vedi specifiche json):

> db.names.find({"name2": {$type : 2})