找到 1349 篇文章 关于 MongoDB

如何在 MongoDB 集合中添加唯一索引字段?

AmitDiwan
更新于 2020年5月13日 09:23:06

139 次查看

对于唯一索引,在创建索引时设置 unique - true。让我们创建一个包含文档的集合 -> db.demo658.createIndex({FirstName:1}, {unique:true, sparse:true}); {    "createdCollectionAutomatically" : true,    "numIndexesBefore" : 1,    "numIndexesAfter" : 2,    "ok" : 1 } > > db.demo658.insertOne({"FirstName":"John", "LastName":"Smith"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5ea067144deddd72997713d9") } > db.demo658.insertOne({"FirstName":"Adam", "LastName":"Smith"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5ea0671c4deddd72997713da") } > db.demo658.insertOne({"FirstName":"John", "LastName":"Doe"}); 2020-04-22T21:17:46.072+0530 E QUERY [js] WriteError: E11000 duplicate key error collection: onlinecustomertracker.demo658 index: FirstName_1 dup key: { : "John" } : WriteError({    "index" : 0,    "code" : 11000,   ... 阅读更多

如何在 MongoDB 集合中按日期分组?

AmitDiwan
更新于 2020年5月13日 09:22:22

119 次查看

要按日期分组,请在 MongoDB 聚合中使用 $group。让我们创建一个包含文档的集合 -> db.demo657.insertOne({ ...       id: 1, ...       Name: "Chris", ...       DueDate: new ISODate("2020-04-22") ...    } ... ); {    "acknowledged" : true,    "insertedId" : ObjectId("5ea064b44deddd72997713d6") } > db.demo657.insertOne( ... { ...    id: 1, ...    Name: "John", ...    DueDate: new ISODate("2020-04-22") ... } ...); {    "acknowledged" : true,    "insertedId" : ObjectId("5ea064b44deddd72997713d7") } > db.demo657.insertOne( ... { ...    id: 1, ...    Name: "Chris", ...    DueDate: new ISODate("2020-04-22") ... ... 阅读更多

在 MongoDB 中多次使用 push 和 slice?

AmitDiwan
更新于 2020年5月13日 09:16:21

194 次查看

要在 MongoDB 中使用 push 和 slice,请使用 $push 和 $slice。让我们创建一个包含文档的集合 -> db.demo656.insertOne({Name:"John"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5ea060264deddd72997713cf") } 使用 find() 方法显示集合中的所有文档 -> db.demo656.find(); 这将产生以下输出 -{ "_id" : ObjectId("5ea060264deddd72997713cf"), "Name" : "John" } 这是在 MongoDB 中使用 push 和 slice 的查询 -> db.demo656.update({Name:"John"}, {"$push":{"ListOfName": {"$each": ["John"], "$slice": -9}}}); WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 }) 使用 find() 方法显示集合中的所有文档 -> db.demo656.find(); 这将产生以下输出 -{ ... 阅读更多

如何清除 MongoDB 数据库?

AmitDiwan
更新于 2020年5月13日 09:14:16

2K+ 次查看

要清除,请使用 dropDatabase。以下是语法 -use yourDatabaseName; db.dropDatabase(); 要清除 MongoDB 数据库,首先显示所有数据库 -> show dbs 这将产生以下输出 -MyDB    0.000GB admin    0.000GB config    0.000GB local    0.000GB onlinecustomertracker 0.000GB test    0.006GB 现在,让我们删除数据库 onlinecustomertracker -> use onlinecustomertracker switched to db onlinecustomertracker > db.dropDatabase(); { "dropped" : "onlinecustomertracker", "ok" : 1 } 以下是删除上述数据库后显示所有数据库的查询 -> show dbs 这将产生以下输出 -MyDB    0.000GB admin    0.000GB config    0.000GB local    0.000GB test    0.006GB

在 MongoDB findOne() 中使用正则表达式

AmitDiwan
更新于 2020年5月13日 09:12:23

543 次查看

findOne() 返回满足集合上指定查询条件的一个文档。让我们创建一个包含文档的集合 -> db.demo655.insertOne({subject:"MySQL"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5ea050254deddd72997713cc") } > db.demo655.insertOne({subject:"MongoDB"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5ea0502b4deddd72997713cd") } > db.demo655.insertOne({subject:"Java"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5ea050314deddd72997713ce") } 使用 find() 方法显示集合中的所有文档 -> db.demo655.find(); 这将产生以下输出 -{ "_id" : ObjectId("5ea050254deddd72997713cc"), "subject" : "MySQL" } { "_id" : ObjectId("5ea0502b4deddd72997713cd"), "subject" : "MongoDB" } { "_id" : ObjectId("5ea050314deddd72997713ce"), "subject" : "Java" } 以下是 ... 阅读更多

在 MongoDB 中,使用 $in 搜索比多个单个搜索更快吗?

AmitDiwan
更新于 2020年5月13日 09:09:59

78 次查看

是的,使用 $in 更快。让我们看一个例子,并创建一个包含文档的集合 -> db.demo653.insertOne({subject:"MySQL"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5ea04b274deddd72997713c0") } > db.demo653.insertOne({subject:"MongoDB"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5ea04b304deddd72997713c1") } > db.demo653.insertOne({subject:"Java"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5ea04b354deddd72997713c2") } > db.demo653.insertOne({subject:"C"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5ea04b384deddd72997713c3") } > db.demo653.insertOne({subject:"C++"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5ea04b3b4deddd72997713c4") } 使用 find() 方法显示集合中的所有文档 -> db.demo653.find(); 这将产生以下输出 -{ "_id" : ObjectId("5ea04b274deddd72997713c0"), "subject" : ... 阅读更多

使用聚合将 MongoDB 文档按升序排序?

AmitDiwan
更新于 2020年5月13日 09:08:39

162 次查看

在 MongoDB 聚合中使用 $sort。让我们创建一个包含文档的集合 -> db.demo652.insertOne({ ...    value:10, ...    "details" : [{ ...       "ProductName" : "Product-1", ...       "ProductQuantity" : 8, ...       "ProductPrice" : 500 ...    }, { ...          "ProductName" : "Product-2", ...          "ProductQuantity" : 7, ...          "ProductPrice" : 500 ... ...       }] ...    } ... ); {    "acknowledged" : true,    "insertedId" : ObjectId("5e9f0730e3c3cd0dcff36a62") } > > db.demo652.insertOne({ ...    value:5, ...   ... 阅读更多

避免在使用正则表达式时出现 MongoDB 性能问题

AmitDiwan
更新于 2020年5月13日 07:44:51

385 次查看

为了避免 MongoDB 中的性能问题,请使用索引的概念。让我们创建一个包含文档的集合 -> db.demo531.createIndex({"CountryName":"text", "Name":"text"});{    "createdCollectionAutomatically" : true,    "numIndexesBefore" : 1,    "numIndexesAfter" : 2,    "ok" : 1 } > db.demo531.insertOne({CountryName:"US", "Name":"Chris"});{    "acknowledged" : true,    "insertedId" : ObjectId("5e8b2b60ef4dcbee04fbbbf2") } > db.demo531.insertOne({CountryName:"UK", "Name":"David"});{    "acknowledged" : true,    "insertedId" : ObjectId("5e8b2b6cef4dcbee04fbbbf3") } > db.demo531.insertOne({CountryName:"AUS", "Name":"chris"});{    "acknowledged" : true,    "insertedId" : ObjectId("5e8b2b74ef4dcbee04fbbbf4") } > db.demo531.insertOne({CountryName:"US", "Name":"CHRIS"});{    "acknowledged" : true,    "insertedId" : ObjectId("5e8b2badef4dcbee04fbbbf5") } 使用 find() 方法显示集合中的所有文档 -> db.demo531.find(); 这将 ... 阅读更多

如果存在可能的空值,如何在 MongoDB 中使用 ORDERBY?

AmitDiwan
更新于 2020年5月13日 07:43:43

624 次查看

如果也有空值,则使用sort()实现ORDERBY。注意 - 从MongoDB v3.2开始,mongo shell中的$orderby运算符已弃用。请改用cursor.sort()。让我们创建一个包含文档的集合 -> db.demo530.insertOne({"Name":"Chris"});{    "acknowledged" : true,    "insertedId" : ObjectId("5e8b2990ef4dcbee04fbbbec") } > db.demo530.insertOne({"Name":null});{    "acknowledged" : true,    "insertedId" : ObjectId("5e8b2991ef4dcbee04fbbbed") } > db.demo530.insertOne({"Name":"David"});{    "acknowledged" : true,    "insertedId" : ObjectId("5e8b2992ef4dcbee04fbbbee") } > db.demo530.insertOne({"Name":"Adam"});{    "acknowledged" : true,    "insertedId" : ObjectId("5e8b2995ef4dcbee04fbbbef") } > db.demo530.insertOne({"Name":null});{    "acknowledged" : true,    "insertedId" : ObjectId("5e8b2999ef4dcbee04fbbbf0") } > db.demo530.insertOne({"Name":"Carol"});{    "acknowledged" : true,    "insertedId" : ObjectId("5e8b299eef4dcbee04fbbbf1") }显示 ... 阅读更多

MongoDB 按 _id 分组的查询

AmitDiwan
更新于 2020年5月13日 07:41:39

820 次浏览

要在 MongoDB 中按 _id 分组,请使用 $group。让我们创建一个包含文档的集合 -> db.demo529.insertOne({"Score":10});{    "acknowledged" : true,    "insertedId" : ObjectId("5e8b1d5bef4dcbee04fbbbe4") } > db.demo529.insertOne({"Score":20});{    "acknowledged" : true,    "insertedId" : ObjectId("5e8b1d5fef4dcbee04fbbbe5") } > db.demo529.insertOne({"Score":10});{    "acknowledged" : true,    "insertedId" : ObjectId("5e8b1d61ef4dcbee04fbbbe6") } > db.demo529.insertOne({"Score":10});{    "acknowledged" : true,    "insertedId" : ObjectId("5e8b1d62ef4dcbee04fbbbe7") }使用 find() 方法显示集合中的所有文档 -> db.demo529.find();这将产生以下输出 -{ "_id" : ObjectId("5e8b1d5bef4dcbee04fbbbe4"), "Score" : 10 } { "_id" : ObjectId("5e8b1d5fef4dcbee04fbbbe5"), "Score" : 20 } { "_id" : ObjectId("5e8b1d61ef4dcbee04fbbbe6"), "Score" : 10 ... 阅读更多

广告