1
mongodb 업데이트 방법에 약간의 문제가 있습니다. 이것은 내 (단순화 된) 스키마입니다.mongodb의 하위 요소 업데이트
{
profile: {
birthdate: "XXX",
city: "xxx"
},
account: {
username: "...",
password: "....",
visits: 0
}
}
DB에 2000 개의 개체가 있습니다. 사용자 이름 값을 제거하여 데이터를 익명화하고 싶습니다.
나는 노력이 : 작품이 쿼리 암호 필드와 방문을 제거하지 않습니다db.users.update({}, {$set: account: {username: ""}}, false, true);
. 왜 그런지 이해하지만 어떻게해야합니까?
db.users.update({}, {account: { $set: {username: ""}}}, false, true);
몽고는 "$ set"필드를 할당하려고합니다. 그래서 작동하지 않습니다.
내 질문은 : 전체 "계정"하위 문서를 제거하지 않고 하위 필드를 업데이트하는 방법은 무엇입니까?
(true로 "upsert"를 설정하면 동일한 작업을 수행합니다.)
감사합니다,하지만 그 > db.users.update 작동하지 않습니다는 ({}, {$ 설정 : {account.username : ""}}, 거짓, 참) 금 3월 1일 11시 52분 21초을 컴파일 오류 : (셸) : 1 SyntaxError : 예기치 않은 토큰입니다. 이 데이터베이스가이 필드가 존재한다는 것을 알아야하는 다른 사람들과 공유되기 때문에 사용자 이름을 유지해야합니다. 하지만 기존 사용자 이름을 숨겨야합니다 (일부 임의의 데이터를 넣을 것입니다) – Metal3d
내 신 ... 알았어 ... 이중 따옴표를 사용하는 것을 잊어 버렸습니다! 고마워요! – Metal3d