/* global use, db */ // MongoDB Playground // To disable this template go to Settings | MongoDB | Use Default Template For Playground. // Make sure you are connected to enable completions and to be able to run a playground. // Use Ctrl+Space inside a snippet or a string literal to trigger completions. // The result of the last command run in a playground is shown on the results panel. // By default the first 20 documents will be returned with a cursor. // Use 'console.log()' to print to the debug output. // For more documentation on playgrounds please refer to // https://www.mongodb.com/docs/mongodb-vscode/playgrounds/ use("statistics"); db.peertube.aggregate([ { $set: { player: { $function: { lang: "js", args: ["$player"], body: function (str) { try { return JSON.parse(str); } catch (e) { if (typeof str === "object") { return str; } else { return null; } } }, }, }, peers: { $function: { lang: "js", args: ["$peers"], body: function (str) { try { return JSON.parse(str); } catch (e) { if (typeof str === "object") { return str; } else { return null; } } }, }, }, }, }, { $out: { db: "statistics", coll: "peertube_ts", timeseries: { timeField: "timestamp", metaField: "tags", granularity: "seconds", }, }, }, ]);