varios update una registros registro operaciones masivo insertar documentos crear coleccion actualizar json jq

json - una - update en mongodb



¿Cómo actualizo un valor único en un documento json usando jq? (1)

Disculpas si he pasado por alto algo muy obvio; Acabo de encontrar jq y estoy tratando de usarlo para actualizar un valor JSON sin afectar los datos circundantes.

Me gustaría canalizar un resultado curl en jq , actualizar un valor y canalizar el JSON actualizado a un curl -X PUT . Algo como

curl http://example.com/shipping.json | jq ''.'' field: value | curl -X PUT http://example.com/shipping.json

Hasta ahora lo he pirateado usando sed , pero después de ver algunos ejemplos del operador |= en jq , estoy seguro de que no los necesito.

Aquí hay una muestra de JSON: ¿cómo usaría jq para establecer "local": false , mientras se preserva el resto de JSON?

{ "shipping": { "local": true, "us": true, "us_rate": { "amount": "0.00", "currency": "USD", "symbol": "$" } } }


Establece valores de un objeto usando el operador = . |= por otro lado se utiliza para actualizar un valor. Es una diferencia sutil pero importante. El contexto de los filtros cambia.

Como está estableciendo una propiedad en un valor constante, use el operador = .

.shipping.local = false

Solo tenga en cuenta que al establecer un valor en una propiedad, no necesariamente tiene que existir. Puede agregar nuevos valores fácilmente de esta manera.

.shipping.local = false | .shipping.canada = false | .shipping.mexico = true