为此,设置“ unique:true ”,即唯一约束,并避免插入重复项,如以下语法所示:
db.yourCollectionName.ensureIndex({yourFieldName: 1}, {unique: true, dropDups: true})
为了理解上述语法,让我们创建一个包含文档的集合。在这里,不允许重复插入-
> db.demo604.ensureIndex({FirstName: 1}, {unique: true, dropDups: true});{ "createdCollectionAutomatically" : true, "numIndexesBefore" : 1, "numIndexesAfter" : 2, "ok" : 1 } > db.demo604.insertOne({FirstName:"Chris"});{ "acknowledged" : true, "insertedId" : ObjectId("5e960887ed011c280a0905d8") } > db.demo604.insertOne({FirstName:"Bob"});{ "acknowledged" : true, "insertedId" : ObjectId("5e96088aed011c280a0905d9") } > db.demo604.insertOne({FirstName:"David"});{ "acknowledged" : true, "insertedId" : ObjectId("5e96088ded011c280a0905da") } > db.demo604.insertOne({FirstName:"Chris"}); 2020-04-15T00:31:35.978+0530 E QUERY [js] WriteError: E11000 duplicate key error collection: test.demo604 index: FirstName_1 dup key: { : "Chris" } : WriteError({ "index" : 0, "code" : 11000, "errmsg" : "E11000 duplicate key error collection: test.demo604 index: FirstName_1 dup key: { : \"Chris\" }", "op" : { "_id" : ObjectId("5e96088fed011c280a0905db"), "FirstName" : "Chris" } }) WriteError@src/mongo/shell/bulk_api.js:461:48 Bulk/mergeBatchResults@src/mongo/shell/bulk_api.js:841:49 Bulk/executeBatch@src/mongo/shell/bulk_api.js:906:13 Bulk/this.execute@src/mongo/shell/bulk_api.js:1150:21 DBCollection.prototype.insertOne@src/mongo/shell/crud_api.js:252:9 @(shell):1:1
在find()方法的帮助下显示集合中的所有文档-
> db.demo604.find();
这将产生以下输出-
{ "_id" : ObjectId("5e960887ed011c280a0905d8"), "FirstName" : "Chris" } { "_id" : ObjectId("5e96088aed011c280a0905d9"), "FirstName" : "Bob" } { "_id" : ObjectId("5e96088ded011c280a0905da"), "FirstName" : "David" }
无法从外壳中删除集合, 集合可用并且我的 php 脚本正在访问它的东西(选择|更新) 但当我使用: 它给了我一个错误:
在 MongoDB 中,可以使用 drop() 方法来从数据库中删除指定集合,它会从数据库中完全删除一个集合,并且不会留下与已删除集合关联的任何索引。 drop() 方法在使用时不需要带有任何参数,并且在使用参数调用时会产生错误,该方法的语法格式如下: db.collection_name.drop() 其中 collection_name 为要删除的集合名称,方法调用成功会返回 true,否则返
我的数据如下所示: 其中,foo\u list是一个名为Bar的模型中的字段。请注意,阵列中的第一个和第二个对象是完全重复的。 除了切换到PostgresSQL这一显而易见的解决方案之外,我还可以运行什么MongoDB查询来删除foo\u列表中的重复条目? 类似的答案并不能完全解决这个问题: https://stackoverflow.com/a/16907596/432 https://stac
然而,当我运行foreach循环时,它运行了几分钟就崩溃了 最初的数据库mydb有0.173GB,现在是0.368GB 你知道出什么问题了吗? 所以这次看起来很管用,但为什么'mydb'变大了呢?
本文向大家介绍MongoDB查询如何从集合中删除整个数组,包括了MongoDB查询如何从集合中删除整个数组的使用技巧和注意事项,需要的朋友参考一下 要从集合中删除整个数组,请在MongoDB中使用$unset。让我们创建一个包含文档的集合- 在find()方法的帮助下显示集合中的所有文档- 这将产生以下输出- 这是从集合中删除整个数组的查询- 在find()方法的帮助下显示集合中的所有文档- 这将
在mongodb中,我有一个集合,其中数组有重复的条目,如 我需要删除重复的数组,只保留唯一的数组值,如下所示。 最好的方法是什么 谢啦