ok risolto usando update e l'opzione upsert.
vi posto un esempio in nodejs, visto che le sue funzioni e quelle di mongodb si chiamano allo stesso modo:
codice:
var document = {
"as": req.body.as,
"city": req.body.city,
"country": req.body.country,
"countryCode": req.body.countryCode,
"isp": req.body.isp,
"lat": req.body.lat,
"lon": req.body.lon,
"org": req.body.org,
"query": req.body.query,
"region": req.body.region,
"regionName": req.body.regionName,
"status": req.body.success,
"timezone": req.body.timezone,
"zip": req.body.zip
};
var documentUpdate = {"query": req.body.query, "lat": req.body.lat, "lon": req.body.lon};
collection.update(documentUpdate, document, {upsert: true}, function (err, records) {
if (err) {
console.log("Impossibile effettuare l'inserimento: ", err);
} else {
console.log(document);
}
});
ciao!