找到 1349 篇文章 关于 MongoDB

MongoDB 查询从集合中删除整个数组?

AmitDiwan
更新于 2020-05-15 08:04:29

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, ... 阅读更多

在单个 MongoDB 文档中的两个数组中获取唯一值

AmitDiwan
更新于 2020-05-15 08:03:10

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",       ... 阅读更多

MongoDB 查询更新嵌套文档?

AmitDiwan
更新于 2020-05-15 07:59:58

413 次浏览

要更新嵌套文档,请使用 update(),并在其中使用点表示法。让我们创建一个包含文档的集合 -> db.demo607.insertOne( ...    { ...       id:1, ...       "Info1" : { ...          "Name" : "Chris", ...          "Age" : 21, ... ...          "Info2" : { ...             "SubjectName" : "MongoDB", ...             "Marks" : 89 ...          } ...       } ...    } ... ); {   ... 阅读更多

如何在 MongoDB 中根据重复 ID 获取评分平均值?

AmitDiwan
更新于 2020-05-15 07:52:30

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() 方法显示集合中的所有文档 ... 阅读更多

根据两个条件更新 MongoDB 中的数量?

AmitDiwan
更新于 2020-05-15 07:50:36

158 次浏览

为此,请使用 UPDATE() 方法,并在其中设置两个条件。让我们创建一个包含文档的集合 -> db.demo605.insertOne( ...    { ...       _id:1, ...       "Information" : [ ...          { ...             "id" : "Product-1", ...             "Quantity" : 50, ...          }, ...          { ...             "id" : "Product-2", ...             "Quantity" : 100, ...          }, ... 阅读更多

如何从 MongoDB 集合中删除重复项?

AmitDiwan
更新于 2020-05-15 07:48:00

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 ... 阅读更多

MongoDB 中 NumberLong(x) 和 NumberLong(“x”) 之间的区别?

AmitDiwan
更新于 2020-05-15 07:45:55

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") }

MongoDB 对不同文档中具有相似 ID 的元素进行聚合?

AmitDiwan
更新于 2020-05-15 07:44:54

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();这将产生以下 ... 阅读更多

在 MongoDB 中更新并防止覆盖?

AmitDiwan
更新于 2020-05-15 07:39:16

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() 方法显示集合中的所有文档 ... 阅读更多

在 MongoDB 中创建新用户并设置角色

AmitDiwan
更新于 2020年5月15日 07:12:18

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"       }    ] }

广告