我将文章视图计数存储在MongoDB中,就像这样
$mongoCollection = $this->mongoClient->db->collectionName;
$mongoCollection->findAndModify(
[
'id' => (int)$article_id
],
[
'$inc' => [
'count' => 1
]
],
null,
[
'upsert' => true
]
);
现在我需要添加索引,所以我只是添加
$mongoCollection->createIndex(['id' => 1]);
之后
$mongoCollection = $this->mongoClient->db->collectionName;
但是这给了我
名称为:id_1的索引已存在且包含不同的选项
但为什么呢? http://php.net/manual/en/mongocollection.createindex.php和https://docs.mongodb.org/v3.0/tutorial/create-an-index/它必须有效吗?
我做错了什么?添加
是否正确 ['unique' => true, 'dropDups' => 1]
在这种情况下?
答案 0 :(得分:2)
错误消息说明了一切:名称为:id_1的索引已经存在且具有不同的选项
你们都准备好了一个具有该名称的索引。您只需要创建一次索引 - 而不是每次连接到数据库时。