我正在尝试使用mongoimport更新集合中的特定文档。我创建了一个包含两列的csv文件:“电子邮件”和“ contactInfo.mobileNumber”。
CSV结构:
email,contactInfo.mobileNumber
test123@gmail.com,9892345109
目标:使用电子邮件作为键/查询参数来更新匹配文档的“ mobileNumber”(电子邮件应唯一标识该文档)。
“ mobileNumber”是存储在名为“ contactInfo”的集合内的字符串。因此,“ contactInfo”是文档结构的一部分。 “ contactInfo”的结构如下。它包含以下类型的多个对象:
contactInfo
_id
homeNumber
mobileNumber
我尝试了以下mongoimport命令:
1. mongoimport --host --db --collection --mode upsert --headerline --file --type=csv
2. mongoimport --host --db --collection --mode merge --headerline --file--type=csv
3. mongoimport --host --db --collection --upsertFields email --headerline --file --type=csv
但是,以上命令始终创建一个新文档,而不是更新现有文档。它使用三个字段(_id
,homeNumber
和mobileNumber
嵌套在contactInfo下)创建一个新文档。
如何更新数据库中与.csv
文件中的电子邮件匹配的文档?