Database
[{timestamp:1,sensor_name:"Sensor A",value:10},{timestamp:2,sensor_name:"Sensor B",value:11},{timestamp:7,sensor_name:"Sensor A",value:5},{timestamp:10,sensor_name:"Sensor A",value:13},{timestamp:12,sensor_name:"Sensor B",value:20}]
Query
db.collection.aggregate([{"$group":{"_id":null,"sensor_names":{"$addToSet":"$sensor_name"}}},{"$lookup":{"from":"collection","pipeline":[],"as":"coll"}},{"$unwind":"$coll"},{"$set":{"coll.sensor_nr":{"$indexOfArray":["$sensor_names","$coll.sensor_name"]}}},{"$replaceWith":"$coll"},{"$unset":["_id","sensor_name"]}])