在mongodb中写入多个分片

时间:2017-09-12 07:40:39

标签: mongodb nosql

通常,如果查询分布在多个分片上,则认为它不太优化。从单个分片中读取需要更多时间。

写作也是如此吗?如果我正在编写一些数据并且它将在多个分片之间分配,那么它是否会被认为不太优化?

如果是,编写应该转到不同分片的批处理的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

这取决于操作,请参阅https://docs.mongodb.com/manual/core/sharded-cluster-query-router/#sharding-mongos-targeted

  

所有insertOne()操作都以一个分片为目标。 insertMany()数组中的每个文档都以单个分片为目标,但不保证数组中的所有文档都插入到单个分片中。

     

所有updateOne(),replaceOne()和deleteOne()操作必须在查询文档中包含分片键或_id。如果在没有分片键或_id的情况下使用这些方法,MongoDB将返回错误。

     

根据群集中数据的分布和查询的选择性,mongos可能仍会执行广播操作来完成这些查询。