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})
>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})