Thefield'key'mustbeanobject,butgotundefined 出现记录错误
程序员文章站
2022-05-23 08:20:04
环境
mongodb:3.4
工具:robo 3T 1.1
前言
再给一张表创建局部索引时,报错了:
/* 1 */
{
"raw" : {...
环境
mongodb:3.4
工具:robo 3T 1.1
前言
再给一张表创建局部索引时,报错了:
/* 1 */ { "raw" : { "shard4/10.19.139.216:27048,10.19.30.210:27048" : { "ok" : 0.0, "errmsg" : "The field 'key' must be an object, but got undefined", "code" : 14, "codeName" : "TypeMismatch", "$gleStats" : { "lastOpTime" : { "ts" : Timestamp(1517828669, 3), "t" : NumberLong(37) }, "electionId" : ObjectId("7fffffff0000000000000025") } } }, "code" : 14, "ok" : 0.0, "errmsg" : "{ shard4/10.19.139.216:27048,10.19.30.210:27048: \"The field 'key' must be an object, but got undefined\" }" }
创建语句如下:
db.userop_record.createIndexes({code:1, type:1,status:1},{partialFilterExpression:{user_type:{$gt:0},type:{$eq:3},date:{$gte:new Date("2016/08/05")}, createtime:{$gte:new Date("2016/08/05")}}},{background:true})
我是今天才研究 partial index的怎么就不行了呢?
仔细观察才发现:
createIndexes
这个和
createIndex是非常类似的,只不过它的keys是个数组,也就是同时,创建多个索引。
具体参考官网,我这里主要就是为了记录下上面那个错误;
db.collection.createIndexes()
因为我就创建一个索引,所以应该使用
createIndex;
db.userop_record.createIndex({createtime:-1, user_type:1, type:1, code:1,status:1}, {partialFilterExpression:{user_type:{$gt:0},type:{$eq:3},createtime:{$gte:new Date("2016/08/05")}}},{background:true})
总结
总结
纯属是为了记录这个错误!
上一篇: 囧啊!女人想闹,神都挡不住
下一篇: 虚拟化技术详情分析