I`m using MongoDB with Node.js
the code:
Code:
var mqtt = require('mqtt');
var MongoClient = require('mongodb').MongoClient;
var client;
var collection;
var mongodbURI = 'mongodb://localhost:27017/ex3';
var deviceRoot = '#';
var key;
MongoClient.connect(mongodbURI,setupCollection);
function setupCollection(err, db) {
if(!err) {
console.log("We are connected");
collection=db.collection("new2");
client = mqtt.connect('mqtt://192.168.0.132');
client.subscribe(deviceRoot);
client.on('message', function (topic, message) {
console.log(message.toString());
key=topic.replace(deviceRoot,'');
collection.update(
{ _id:key },
{ $push: { events: { event: { value:message, when:new Date(), expireAfterSeconds: 10 } } } },
{ upsert:true },
function(err,docs) {
if(err) {
console.log("Insert fail")
}
}
);
})
}
}
but the documents will never remove!
help please?