我有一个集合“公司”,文件有这样的结构:
id,name,address,branch,city
我想添加一个具有索引的关键字字段,因此我可以进行全文搜索,但如何为每个文档添加字段?
感谢您的帮助
答案 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
时,您无法使用其他字段中的值。因此,如果这个新值将是其他字段的函数,则没有其他选项,而是循环遍历文档并逐个更新。