Le basi tecnologiche e di sicurezza di PiCockpit

Mi è stato chiesto di elaborare un po' le basi di sicurezza e tecnologia di PiCockpit. Le parti coinvolte PiCockpit è composto da diverse parti: picockpit-client picockpit-frontend picockpit-backend picockpit-api ("papi") il database il server MQTT il repository dei pacchetti picockpit Il server MQTT I dati tra picockpit-frontend e picockpit-client vengono scambiati utilizzando il server MQTT (chiamato...

Weiterlesen

Come impostare gli id unici degli oggetti nei documenti incorporati in una collezione MongoDB

L'updateMany di MongoDB può essere usato per aggiornare tutti i documenti che corrispondono. Problema Se, tuttavia, vuoi impostare nuovi ObjectID unici nel tuo aggiornamento, scopriresti che MongoDB imposta lo stesso ObjectID per ogni voce: db.getCollection('mypis_collectedpis').updateMany({}, {$set: {apps: { "com.picockpit/core": { meta: { version: "2.0", nome: "PiCockpit Core", immagine: "", descrizione: "PiCockpit.com...

Weiterlesen

Comprendere Erlang & Lua / Luerl per VerneMQ MongoDB auth_on_register hook

Il mio obiettivo / TLDR Il mio obiettivo con questo post sul blog è quello di spiegare come impostare mountpoint personalizzati per VerneMQ modificando lo script auth Lua di MongoDB (lua/auth/mongodb.lua). Impostare un mountpoint personalizzato è possibile con VerneMQ non solo impostando manualmente i mountpoint per specifici ascoltatori (ad esempio le porte), ma anche programmaticamente durante l'autorizzazione...

Weiterlesen

mongo_orm Eccezione: chiave bson mancante: publish_acl (eccezione)

Quando estendi le tue definizioni di campo nelle classi di documenti mongo_orm, in particolare con documenti incorporati, potresti incorrere nel seguente errore di runtime (!): Eccezione: chiave bson mancante: (Exception) Questo non è un errore nel tuo codice - il tuo codice sta sollevando, perché la struttura del database non è come si aspetta che sia!...

Weiterlesen

mongo_orm nome personalizzato per la collezione

mongo_orm determinerà automaticamente il nome per la vostra collezione usando il nome del modulo e della classe, e aggiungendo una "s". Nei casi in cui vuoi dare un nome alla tua collezione, puoi semplicemente fare così: class PapiTest < Mongo::ORM::Document collection_name "Buster" field test : String end get "/" do pt = PapiTest.new pt.test = "I want...

Weiterlesen