gpt4 book ai didi

mongodb - 神秘的 mongodb 错误 LEFT_SUBFIELD 仅支持对象 : stats not: 6

转载 作者:IT老高 更新时间:2023-10-28 13:14:42 26 4
gpt4 key购买 nike

我无法弄清楚这个错误的含义

LEFT_SUBFIELD 仅支持 Object: stats not: 6

当我插入我的配置文件集合时,它似乎正在发生。我正在使用 mongoose.js。我们在 stats 属性中插入每个类别的帖子计数,例如

stats: {category:count, category2: count2}.

这是我的架构

var ProfileSchema = new Schema({
uname: {
type: String,
required: true,
index: true,
unique: true
},
fname: String,
lname: String,
stats: {
type:{},
"default":{},
required:true
},
created: {
type:Date,
required:true,
"default":Date.now
}
});

我认为当我更新 stats 对象 $inc 计数时可能会发生这种情况,以便统计信息可以像这次更新一样出现

db.status.update({_id:xyz}, {$inc: { stats.foo : 1, stats.bar:1}})

这是我的 Mongoose 代码

      var tags = ["comedy", "action", "drama"];

//also adding the postId to the posts collection of profile
var updateCommand = {$push: {posts: post._id}};

var stats = {};
for (var i = tags.length - 1; i >= 0; i--){
stats["stats." + tags[i].toString()] = 1;
};
updateCommand.$inc = stats;

Profile.update(
{uname: uname},
updateCommand,
{safe:true, upsert:true},
callback
);

最佳答案

如果您尝试更新非对象的子文档,也会发生这种情况。

> db.test.insert({_id: 10240292, object: 'some string'})
> db.test.update({_id: 10240292}, {$set: {'object.subkey': 'some string'}})
LEFT_SUBFIELD only supports Object: object not: 2

也许这不是你的情况,但它可以帮助那些在谷歌上搜索这个错误的人。

关于mongodb - 神秘的 mongodb 错误 LEFT_SUBFIELD 仅支持对象 : stats not: 6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10240292/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com