Mongodb 将新字段点类型字段添加到具有现有字段值的集合中

Mongodb 将新字段点类型字段添加到具有现有字段值的集合中,mongodb,spatial,Mongodb,Spatial,我有一个巨大的mongodb收藏,有600万张唱片。我有两个字段(纬度、经度),我想向集合中添加第三个字段,类型为point(spatical)。如何在命令行或PHP中执行此操作?如果您希望向集合中的所有文档添加一个新字段(具有相同的值),则可以通过操作轻松完成此操作。考虑下面的shell示例: db.collection.update( {}, { $set: { type: "spatial" }}, { multi: true } ); 这会将符合空标准的所有文档的type字

我有一个巨大的mongodb收藏,有600万张唱片。我有两个字段(纬度、经度),我想向集合中添加第三个字段,类型为point(spatical)。如何在命令行或PHP中执行此操作?

如果您希望向集合中的所有文档添加一个新字段(具有相同的值),则可以通过操作轻松完成此操作。考虑下面的shell示例:

db.collection.update(
  {},
  { $set: { type: "spatial" }},
  { multi: true }
);
这会将符合空标准的所有文档的
type
字段设置为“spatial”(即所有文档),并且
multi
选项允许更新修改多个文档,而不仅仅是第一个匹配的文档(默认行为)

如果您只想将
type
字段设置在它不存在的地方,您可以调整如下条件:

db.collection.update(
  { type: { $exists: false }},
  { $set: { type: "spatial" }},
  { multi: true }
);
因为您存储的是地理空间数据,所以可能需要查看一下MongoDB。这将允许您在文档中存储和索引格式良好的对象。有关该主题的更多介绍性信息,请参见相关问题中的