2016-09-29 4 views
1

Я новичок в узле.Обновление Mongo от узла

От Монго оболочки я выполняю эту команду на сбор «system.user»

db.system.users.find({_id: "test.admin"}) 

И вернуть эту запись

{ 
    "_id": "test.admin", 
    "user": "admin", 
    "db": "test", 
    "credentials": { 
    "SCRAM-SHA-1": { 
     "iterationCount": 10000, 
     "salt": "hBehS02+DJL+XX92dpuXnw==", 
     "storedKey": "6TifIE7lc4TLKkMSYC6yjX/WZ5Y=", 
     "serverKey": "gqxsc9a6Z8HvBLpZl8bNxiPsYWA=" 
    } 
    }, 
    "roles": [{ 
    "role": "root", 
    "db": "admin" 
    }] 
} 

Мой вопрос кто-нибудь есть пример JavaScript, который будет покажите мне, как обновить атрибут ролей. Так что после обновления JavaScript/узла

db.system.users.find({_id: "test.admin"}) 

будет прочитать

{ 
    "_id": "test.admin", 
    "user": "admin", 
    "db": "test", 
    "credentials": { 
    "SCRAM-SHA-1": { 
     "iterationCount": 10000, 
     "salt": "hBehS02+DJL+XX92dpuXnw==", 
     "storedKey": "6TifIE7lc4TLKkMSYC6yjX/WZ5Y=", 
     "serverKey": "gqxsc9a6Z8HvBLpZl8bNxiPsYWA=" 
    } 
    }, 
    "roles": [{ 
    "role": "dbowner", 
    "db": "admin" 
    }] 
} 

Изменяет "роль": "корень" в "роли": "dbowner"

Я ищу для самого «атомного» способа сделать это, возможно, какой-то json-анализ. Не просто заменить обычную строку.

+3

ли вы поиск в MongoDB к узлу или мангуста? –

+0

Прежде чем продолжить, вы должны прочитать весь этот раздел: https://docs.mongodb.com/manual/core/authentication/ – dyouberg

+0

Спасибо за подсказку использования Mongoose – Rory

ответ

1

Вы могли бы попробовать что-то вроде этого

db.system.users.updateOne({_id: "test.admin"}, {"roles.role":"dbowner"}, {upsert:1}); 
+0

Я попробую это, спасибо, спасибо – Rory

Смежные вопросы