Я новичок в базе данных NoSQL и использую версию Mongo 2.4.12. У меня есть коллекция, названная как «пользователь», и я хотел добавить новое поле с именем «useremail». Не могли бы вы сообщить мне, как я могу это сделать из командной строки/оболочки?Как добавить новое поле в коллекцию в MongoDB (NoSQL)
> db.user.find({username :"John"}).pretty();
{
"_id" : "ajd233d-u980-4000-92b6-5353e9602502",
"username" : "John",
"password" : "John",
"firstname" :"John",
"lastname" : "Rogers",
"enabled" : true,
"employeeauth" : [
{
"employeeId" : "a2fg190-b50d-14k2-aan0-ebb7298fa2b7",
"authorities" : [
"DEVELOPER", "TESTER", "CONSULTANT"
]
}
],
}
Я хотел бы добавить новое поле "USEREMAIL", так что результат шоу приходят так:
> db.user.find({username :"John"}).pretty();
{
"_id" : "ajd233d-u980-4000-92b6-5353e9602502",
"username" : "John",
"password" : "John",
"firstname" :"John",
"lastname" : "Rogers",
"useremail": "[email protected]",
"enabled" : true,
"employeeauth" : [
{
"employeeId" : "a2fg190-b50d-14k2-aan0-ebb7298fa2b7",
"authorities" : [
"DEVELOPER", "TESTER", "CONSULTANT"
]
}
],
}
Привет - Это, кажется, не работает, как ожидалось, она перекрывает все мои даты и давая: > db.user.update ({имя пользователя: "John"}, { "USEREMAIL": "john.rogers @ test.com "}) > db.user.find ({имя пользователя:" John "}). pretty(); { "_id": ObjectId ("54fcbae626f96d47769f86bb"), "USEREMAIL": "[email protected]" } –
@ user4567570 Пожалуйста, смотрите редактирование. используйте '{$ set: {" useremail ":" [email protected] "}}' для обновления документа – user2829759
да, теперь работает. Спасибо. Это красота манго. Просто мне нужно вернуть все мои данные для предыдущего неправильного запроса на обновление документа. –