找到 1349 篇文章 关于 MongoDB
384 次浏览
要从集合中删除整个数组,请在 MongoDB 中使用 $unset。让我们创建一个包含文档的集合 -> db.demo609.insertOne({"ListOfSubject":["MySQL", "MongoDB"]});{ "acknowledged" : true, "insertedId" : ObjectId("5e974695f57d0dc0b182d62c") } > db.demo609.insertOne({"ListOfSubject":["Java"]});{ "acknowledged" : true, "insertedId" : ObjectId("5e97469af57d0dc0b182d62d") }使用 find() 方法显示集合中的所有文档 -> db.demo609.find();这将产生以下输出 -{ "_id" : ObjectId("5e974695f57d0dc0b182d62c"), "ListOfSubject" : [ "MySQL", "MongoDB" ] } { "_id" : ObjectId("5e97469af57d0dc0b182d62d"), "ListOfSubject" : [ "Java" ] }以下是删除集合中整个数组的查询 -> db.demo609.update({}, {$unset:{"ListOfSubject":""}}, {multi:true}); WriteResult({ "nMatched" : 2, "nUpserted" : 0, ... 阅读更多
2K+ 次浏览
要在文档中的两个数组中获取唯一值,请在聚合中使用 $setUnion()。$setUnion 接受两个或多个数组,并返回一个包含出现在任何输入数组中的元素的数组。让我们创建一个包含文档的集合 ->db.demo608.insertOne({"ListOfName1":["John", "Chris", "Bob", "David"], "ListOfName2":["Bob", "Sam", "John", "Robert", "Chris"]} ... ); { "acknowledged" : true, "insertedId" : ObjectId("5e974542f57d0dc0b182d62b") }使用 find() 方法显示集合中的所有文档 -> db.demo608.find().pretty();这将产生以下输出 -{ "_id" : ObjectId("5e974542f57d0dc0b182d62b"), "ListOfName1" : [ "John", "Chris", ... 阅读更多
301 次浏览
对于 MongoDB 中的平均值,请使用 $avg。让我们创建一个包含文档的集合。这里,我们有重复的 id,每个 id 都有评分 -> db.demo606.insertOne({id:1, rating:5});{ "acknowledged" : true, "insertedId" : ObjectId("5e972dfbf57d0dc0b182d623") } > db.demo606.insertOne({id:1, rating:4});{ "acknowledged" : true, "insertedId" : ObjectId("5e972dfef57d0dc0b182d624") } > db.demo606.insertOne({id:2, rating:3});{ "acknowledged" : true, "insertedId" : ObjectId("5e972e09f57d0dc0b182d625") } > db.demo606.insertOne({id:1, rating:null});{ "acknowledged" : true, "insertedId" : ObjectId("5e972e0ef57d0dc0b182d626") } > db.demo606.insertOne({id:2, rating:null});{ "acknowledged" : true, "insertedId" : ObjectId("5e972e15f57d0dc0b182d627") } > db.demo606.insertOne({id:2, rating:3});{ "acknowledged" : true, "insertedId" : ObjectId("5e972e1bf57d0dc0b182d628") }使用 find() 方法显示集合中的所有文档 ... 阅读更多
3K+ 次浏览
为此,请设置“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 ... 阅读更多
233 次浏览
NumberLong(x) 超出其限制值并四舍五入值,而 NumberLong(“x”) 则不会。现在,我们将考虑一个数字,并将其用于 NumberLong(x) 和 NumberLong(“x”) 以查看差异。让我们创建一个包含文档的集合 -> db.demo603.insert({"longValue" : NumberLong(988998985857575789)}); WriteResult({ "nInserted" : 1 }) > db.demo603.insert({"longValueInString" : NumberLong("988998985857575789")});使用 find() 方法显示集合中的所有文档 -> db.demo603.find().pretty();这将产生以下输出 -{ "_id" : ObjectId("5e9605e5ed011c280a0905d1"), "longValue" : NumberLong("988998985857575808") } { "_id" : ObjectId("5e9605faed011c280a0905d2"), "longValueInString" : NumberLong("988998985857575789") }
616 次浏览
对于此类文档分组,请在 MongoDB 聚合中使用 $group。让我们创建一个包含文档的集合 -> db.demo602.insertOne({id:1, Name:"Chris"});{ "acknowledged" : true, "insertedId" : ObjectId("5e960080ed011c280a0905c9") } > db.demo602.insertOne({id:2, Name:"David"});{ "acknowledged" : true, "insertedId" : ObjectId("5e960086ed011c280a0905ca") } > db.demo602.insertOne({id:1, Name:"Bob"});{ "acknowledged" : true, "insertedId" : ObjectId("5e96008ced011c280a0905cb") } > db.demo602.insertOne({id:3, Name:"Mike"});{ "acknowledged" : true, "insertedId" : ObjectId("5e960092ed011c280a0905cc") } > db.demo602.insertOne({id:2, Name:"John"});{ "acknowledged" : true, "insertedId" : ObjectId("5e960099ed011c280a0905cd") } > db.demo602.insertOne({id:1, Name:"Sam"});{ "acknowledged" : true, "insertedId" : ObjectId("5e9600a1ed011c280a0905ce") }使用 find() 方法显示集合中的所有文档 -> db.demo602.find();这将产生以下 ... 阅读更多
520 次浏览
让我们创建一个包含文档的集合 -> db.demo601.insertOne( ... { ... id:1, ... userDetails: ... { ... userName:"John", ... userMailId:"[email protected]" ... } ... } ... ); { "acknowledged" : true, "insertedId" : ObjectId("5e95ff5ced011c280a0905c7") } > > db.demo601.insertOne( { id:2, userDetails: { userName:"Carol", userMailId:"[email protected]" } } );{ "acknowledged" : true, "insertedId" : ObjectId("5e95ff71ed011c280a0905c8") }使用 find() 方法显示集合中的所有文档 ... 阅读更多
444 次浏览
为此,使用 userAdminAnyDatabase,因为它提供了与 admin 相同的所有权限。以下是语法 -use admin db.createUser( { user: "yourUserName", pwd: "yourPassword", roles: [ { role: "yourRoleName", db: "yourDatabaseName" } ] } )让我们实现上述语法来创建用户角色。以下是创建具有 "userAdminAnyDatabase" 角色的用户的查询 -> use admin 切换到 db admin > db.createUser( ... { ... user: "David Miller", ... pwd: "123456", ... roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] ... } ... )这将产生以下输出 -成功添加用户: { "user" : "David Miller", "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ] }