MongoDB改变字段

时间:2011-12-20 17:23:29

标签: mongodb

我有一个集合“公司”,文件有这样的结构:

id,name,address,branch,city

我想添加一个具有索引的关键字字段,因此我可以进行全文搜索,但如何为每个文档添加字段?

感谢您的帮助

1 个答案:

答案 0 :(得分:2)

MongoDB中没有架构,因此您不必为每个文档添加字段。 只需使用此字段开始编写新文档,或者在获得此文件时更新旧文档。

至于索引,现在您可以利用sparse indexes,如果您的大部分文档都没有此字段,它们会更有效。

此外,您可能希望此keyword字段为数组。它可以比字符串更有效地处理。

如果要向集合中的所有文档添加具有相同值的字段,可以使用此字段:

db.collection.update({}, // update all documents
                    {$set : {keyword : []}}, // or another value
                    false, // is upsert?
                    true)  // is multi-update?

执行$set时,您无法使用其他字段中的值。因此,如果这个新值将是其他字段的函数,则没有其他选项,而是循环遍历文档并逐个更新。