我试图从我的模式中的数组中删除一个特定的值(一个游戏),这是代码:
User.update({ userName: user }, { $pull: { games: { _id: deleteItem } } }, function (err, val) {
console.log(err);
});
模式:
const userSchema = new mongoose.Schema({
userName: { type: String, index: true, unique: true },
userPassword: String,
games: [gameSchema]
});
错误:
MongoError:E11000重复密钥错误集合:mountain。用户索引:游戏。密码_1 errmsg:'E11000重复密钥错误集合:mountain。用户索引:游戏。密码\u 1 dup密钥:{games.password:null}',[Symbol(mongoErrorContextSymbol)]:{}
为什么会出现错误,如何解决?/other方法从对象的数组中删除值
谢谢你的帮助!
你有一个独特的索引建立在games. ode
数组上。
我假设你要拉的游戏是数组中的最后一个游戏。并且你已经有一个带有空游戏
数组的文档。
因此,索引的这两个文档的值(null)相同,因为它们都不存在。
稀疏索引正是由于这个原因而存在的,它允许您从独特的
行为中受益,同时只考虑存在值的文档。
所以基本上你必须重建你的索引,使之成为一个唯一的稀疏索引。
MongoError:E11000重复密钥错误集合:myFirstDatabase。tours索引:rating_1 dup键:{rating:null} 当我使用postman创建数据时,我不理解这个错误,说dup key:{rating:null},在shcema中没有任何评级键,这是从哪里来的?为什么我只能创作一次。 这是我的代码(tourSchema) 这是我试图添加的数据 }
我在一个djs机器人工作,我遇到了一个错误,我不知道如何修复我已经看了https://docs.mongodb.com/manual/indexes/和NodeJs,摩卡和猫鼬,但似乎没有什么帮助这里是信息- 错误发生在这里- 这是我的服务器模型/服务器架构- 最后,这是我得到的错误-
出于某种原因,我的应用程序不允许我创建多个配置文件。下面是服务文件中的设置: //这将查找配置文件(如果存在) //如果一个不存在的话,应该创建一个 它适用于第一个用户,但当我创建另一个用户时,我会得到错误:{“error”:{“message”:“MongoError:E11000重复键错误集合:TownMiner.profiles index:info.subs_1 dup key:{info
在node.js,从一个javascript循环,我试图插入一个json对象到一个mongoDB集合,但得到重复的键错误_id列。 {MongoError:E11000重复密钥错误集合:app.Tab2017index:id dup-key:{:ObjectId('5cbc813227b2ca2864b3c66a')} 这是我的javascript代码的一部分,它导致了错误。 以上代码在控制台上显
我有一个具有两列主键的表。 未捕获的异常“PDOException”,包含消息“SQLSTATE[23000]”:完整性约束违反:1062中键“Primary”的重复项“157-433”... 为什么它不只是更新现有的(157,433)-行?
使用Spring数据REST和Spring数据JPA,我想更新聚合根上的子实体集合。举个例子,假设我有一个实体,它与实体有一对多的关系有自己的Spring数据存储库没有,因为它只能通过访问。 令人讨厌的是,由于现有的数据库设计,有一个复合键,包括的外键。因此,在没有双向关系的情况下,我无法找到将外键作为中复合键的一部分的方法,即使我不需要双向关系。 带有Lombok注释的类如下所示: 和评论: 以