PyMongo - «переопределение языка не поддерживается: C ++» при создании индекса - PullRequest
0 голосов
/ 28 апреля 2018

У меня есть коллекция posts, которая содержит сообщения, которые выглядят примерно так

{
    "_id": "5ae37fd270f3e72399988198",
    "moderator": {
        "flagged": false,
        "reviewed": true,
        "pending": false,
        "time": "2018-04-27 20:34:38.099000",
        "account": "samhamou"
    },
    "author": "cryptohazard",
    "permlink": "security-enhancements-for-steem-messenger",
    "title": "Security enhancements for Steem Messenger",
    "repository": {
        "owner": {
            "login": "kingswisdom"
        },
        "fork": false,
        "html_url": "https:\/\/github.com\/kingswisdom\/SteemMessenger",
        "full_name": "kingswisdom\/SteemMessenger",
        "name": "SteemMessenger",
        "id": 127418766
    }
}

Я пытаюсь создать индекс для коллекции в одном из моих файлов Python со следующим кодом

posts = DB.posts
posts.drop_indexes()
posts.create_index([
    ("author", "text"),
    ("moderator.account", "text"),
    ("repository.full_name", "text")
])

но это дает мне следующую ошибку:

pymongo.errors.OperationFailure: language override unsupported: C++

Как я могу предотвратить это? Я могу создать индексы, используя код, найденный в ответах на этот вопрос :

> db.posts.createIndex({
    "moderator.account": "text",
    author: "text",
    "repository.full_name": "text"
}, {
    "language_override": "en"
});

Однако я хочу сделать это из моего скрипта Python вместо того, чтобы делать это из оболочки MongoDB. Я попытался найти способ добавить опцию "language_override": "en" из моего скрипта Python, но это не представляется возможным при проверке документации для create_index .

...