2017-06-11 2 views
0

Je souhaite ajouter un horodatage à chaque document ajouté à Cloudant/CouchDB. Mon client est un appareil IoT de faible puissance qui ne connaît pas l'heure actuelle (l'opération NTP coûte trop de puissance). D'après ce que j'ai lu, je peux utiliser un document de conception pour cela, mais le client doit le déclencher manuellement après l'insertion du document. Ce sera trop gourmand en énergie pour le client car il doit faire deux requêtes HTTP au lieu d'une.Ajouter un horodatage lors de l'ajout d'un document à Cloudant/CouchDB

Y at-il un moyen de faciliter cela?

Répondre

2

La création d'un document de conception est la meilleure solution dans votre cas.

Vous devez définir une fonction de mise à jour (voir this) pour obtenir une documentation complète.

Dans cette fonction de mise à jour, vous serez en mesure de modifier le document transmis à cette fonction pour définir un horodatage comme _id.

Vous n'avez pas besoin de créer le document avant d'appeler ce gestionnaire de mise à jour. Vous pouvez simplement envoyer une requête avec le document dans le corps de la requête.

+1

Merci, je pensais mal aux documents de conception. Ma fonction actuelle de mise à jour: '{ "_id": "_design/update_handlers", "mises à jour": { "add_with_timestamp": fonction » (doc, req) {var mesure = JSON.parse (req. Je l'appelle en POSTant un document normal à: https: // $ host/$ base de données Je l'appelle en POSTant un document normal à: 0 $https: // $ host/$ database/_design/update_handlers/_update/add_with_timestamp Il fonctionne également sur un compte qui n'a que des droits d'écriture. – bsmulders