python 给mongodb 加索引 对否

{ "_id" : ObjectId("5bd6c4f3c3474d25ef31e224"), "unique_charcter" : [ "FqT9lRq7wdoSqjbfvQALU7mf4R0M" ], "name" : "戴德梁行-合肥写字楼与零售市场概况_2017年报-2018.3-14页.pdf" }
{ "_id" : ObjectId("5bd6c4f3c3474d25ef31e225"), "unique_charcter" : [ "FoofNrPnYIIZVsyj65XUVUvjTR1Z" ], "name" : "经济学人智库-2018全球经济面临的10大风险(英文版)-25页.pdf" }
{ "_id" : ObjectId("5bd6c4f3c3474d25ef31e226"), "unique_charcter" : [ "FgU-MGyutFQW3DOIZGbo3wWQHp72" ], "name" : "戴德梁行-重庆写字楼与零售市场概况_2017年第四季度-2018.3-16页.pdf" }
{ "_id" : ObjectId("5bd6c4f3c3474d25ef31e227"), "unique_charcter" : [ "lqlGn1hLyW_-waylmX1LEACcYlgu" ], "name" : "京东-2018生鲜年货消费报告-38页.pdf" }
{ "_id" : ObjectId("5bd6c4f3c3474d25ef31e228"), "unique_charcter" : [ "lvde7RfjUU3cB47wMp4ZXWbaTduu" ], "name" : "嘉论机构-2017年西安市场年报-110页.pdf" }
{ "_id" : ObjectId("5bd6c4f3c3474d25ef31e229"), "unique_charcter" : [ "FlvvOS5Ezs1OoWs0s6Mg_zNMujsc" ], "name" : "今日头条-冬奥会大数据报告-2018.3-15页.pdf" }
{ "_id" : ObjectId("5bd6c4f3c3474d25ef31e22a"), "unique_charcter" : [ "FpRF3bsFmE-h1c0HPn7dAu3B8Usy" ], "name" : "极光大数据-2018年2月网约车app行业研究报告:网约车的这一年-2018.3-31页.pdf" }
{ "_id" : ObjectId("5bd6c4f3c3474d25ef31e22b"), "unique_charcter" : [ "FuSlMQSZyMHootmuSoT3y4MKSs7x" ], "name" : "极光大数据-春节热点app数据观察-2018.3-13页.pdf" }

加索引然后插入
key_word = {"unique_charcter": unique_charcter[0], "name": item['name']}
self.xiaoMiQuanCollection.ensureIndex(key_word)
res = self.xiaoMiQuanCollection.find(key_word)

添加索引后的代码是这样
key_word = {"unique_charcter": unique_charcter[0], "name": item['name']}
index=self.xiaoMiQuanCollection.createIndex({key_word:1})
res = self.xiaoMiQuanCollection.find(index)

阅读 3k
1 个回答

不知道从哪里答起。描述清楚一些怎么样?
key_word是什么?通常建索引的时候格式是:{field: 1/-1},1表示升序,-1表示降序。如果key_word是这样的格式,那find的时候肯定就不对了;反过来如果满足了find的语法,那ensureIndex的格式肯定又不对了。
另外你要的“对不对”到底是指语法对不对,还是指结果对不对?JS可以接受的语法是很宽松的,上面的写法多半不会报错,查不查得到结果就不一定了。还是取决于:key_word到底是什么?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题