Вторая ошибка относительно проста для понимания. Первый немного сложнее.
Я пробовал разные комбинации, чтобы преодолеть эту ошибку, но никаких улучшений не произошло. Моя консоль возвращает меня:
// журнал консоли > первое обещание { ReplyError: ERR новые объекты должны быть созданы в корне в parseError (node_modules/redis-parser/lib/parser.js:193:12) в parseType (node_modules/redis-parser/lib/parser .js:303:14) команда: 'JSON.SET', аргументы: [ 'jsonTest7', '.user.here.now', '{".nestedValue": "Я вложенное значение"}' ], код : 'ERR' } // журнал консоли > второе обещание // журнал консоли > ответ jsonTest7: null
Вот мой snippet.js:
const redis=require("redis");
rejson = require('redis-rejson');
const {promisify} = require('util');
rejson(redis); /* important - this must come BEFORE creating the client */
let client= redis.createClient({
port:6380,
host:'localhost',
});
const setAsync = promisify(client.json_set).bind(client);
const getAsync = promisify(client.json_get).bind(client);
const existsAsync= promisify(client.exists).bind(client);
client.exists('jsonTest2', function(err, reply) {
if (reply === 1) {
return true
} else {
return false
}
});
async function isExist(object){
var isExist= await existsAsync(object).then(data=> data)
.catch((err) => console.error(err));
console.log("isExist: ", typeof isExist)
if(isExist !== 1) {
console.log("creating object...")
await setAsync(object, '.', '{"here":"something"}');
console.log("object created: " + object)
}
}
async function myFunc(object, rootKey) {
console.log("then 1")
await isExist(object)
await setAsync(object, ".user.here.now", '{".nestedValue": "I am a nested value"}')
.catch((err) => console.error(err));
console.log("then 2")
const res = await getAsync(object, '.user.here.now')
.catch((err) => console.error(err));
console.log(object + " response: ", res)
}
myFunc("jsonTest7")
Любой намек был бы замечательным, спасибо