Каков наилучший способ преобразования пар ключ: значение из строки байтов в строку?

Вы можете сделать это, используя конвейер агрегации, но это боль, чтобы написать его самостоятельно.

Вы можете использовать mongo-join-query , чтобы автоматически создать конвейер агрегации из вашего запроса.

Так будет выглядеть ваш запрос:

const mongoose = require("mongoose");
const joinQuery = require("mongo-join-query");

joinQuery(
    mongoose.models.Comment,
    {
        find: { pid:444 },
        populate: ["uid"]
    },
    (err, res) => (err ? console.log("Error:", err) : console.log("Success:", res.results))
);

Ваш результат будет иметь пользовательский объект в поле uid, и вы можете связать столько уровней, сколько хотите. Вы можете заполнить ссылку на пользователя, которая ссылается на команду, которая ссылается на что-то еще и т. Д.

Отказ от ответственности: я написал mongo-join-query для решения этой точной проблемы.

1
задан Aakash Dusane 17 January 2019 в 14:16
поделиться

2 ответа

d = { b'Name': b'John', b'age': b'43' }
d = { x.decode('ascii'): d.get(x).decode('ascii') for x in d.keys() }
0
ответ дан Sunil Goyal 17 January 2019 в 14:16
поделиться

Я не могу проверить это прямо сейчас, но вы должны иметь возможность декодировать все в новый словарь. Вы должны указать кодировку - я думаю, что UTF-8 является хорошим значением по умолчанию.

enc = 'utf-8'
s = {k.decode(enc), v.decode(enc) for k, v in d.items()}
0
ответ дан Ben 17 January 2019 в 14:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: