找到关于 MongoDB 的1349 篇文章

访问 MongoDB 集合中数组的值以获取特定文档

AmitDiwan
更新于 2020年4月2日 06:33:03

193 次浏览

要访问数组值,请使用点(.)表示法。让我们创建一个包含文档的集合 -> db.demo326.insertOne({id:101, "ProductDetails":[{"ProductId":"Prod-101", "ProductName":"Product-1"}, ... {"ProductId":"Prod-102", "ProductName":"Product-2"} ... ] ... } ... ); {    "acknowledged" : true,    "insertedId" : ObjectId("5e516751f8647eb59e562074") } > db.demo326.insertOne({id:103, "ProductDetails":[{"ProductId":"Prod-104", "ProductName":"Product-5"}, ... {"ProductId":"Prod-105", "ProductName":"Product-6"} ... ] ... } ... ); {    "acknowledged" : true,    "insertedId" : ObjectId("5e516771f8647eb59e562075") }使用 find() 方法显示集合中的所有文档 -> db.demo326.find();这将产生以下输出 -{    "_id" : ObjectId("5e516751f8647eb59e562074"), "id" : 101, "ProductDetails" : [       { "ProductId" : "Prod-101", "ProductName" : "Product-1" }, ... 阅读更多

如何在不影响性能的情况下进行 MongoDB 的多次插入/更新?

AmitDiwan
更新于 2020年4月2日 06:30:26

146 次浏览

使用 insertMany() 将多个文档插入集合。为此,可以使用 ensureIndex() 来提高性能。让我们创建一个包含文档的集合并插入多个文档 -> db.demo325.insertMany( [ ...    { _id: 101, Name: "Chris", Age: 23 }, ...    { _id: 102, Name: "David", Age: 24 }, ...    { _id: 103, Name: "Bob", Age: 22 } ... ] ); { "acknowledged" : true, "insertedIds" : [ 101, 102, 103 ] }使用 find() 方法显示集合中的所有文档 -> db.demo325.find().pretty();这将产生以下输出 -{ "_id" : 101, "Name" : "Chris", "Age" : 23 } { "_id" : 102, "Name" : "David", "Age" : 24 } { "_id" : 103, "Name" : "Bob", "Age" : 22 }使用 ensureIndex() -> db.demo325.ensureIndex({Name:1});这将产生以下输出 -{    "createdCollectionAutomatically" : false,    "numIndexesBefore" : 1,    "numIndexesAfter" : 2,    "ok" : 1 }

如何在 MongoDB 中使用位置运算符处理层级结构?

AmitDiwan
更新于 2020年4月2日 06:26:48

69 次浏览

让我们创建一个包含文档的集合 -> db.demo324.insertOne({"ListOfValues":[10, 20, 30]}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e516349f8647eb59e562073") }使用 find() 方法显示集合中的所有文档 -> db.demo324.find().pretty();这将产生以下输出 -{    "_id" : ObjectId("5e516349f8647eb59e562073"),    "ListOfValues" : [       10,       20,       30    ] }以下查询显示如何使用位置运算符 -> db.demo324.update({"ListOfValues":[10, 20, 30]}, { $set: { "ListOfValues.$[]": "MongoDB" } }, { upsert: true } ); WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })显示所有... 阅读更多

在 MongoDB 中使用数组索引或内部项索引来获取值

AmitDiwan
更新于 2020年4月2日 06:24:07

95 次浏览

首先,让我们创建一个包含文档的集合,并使用 ensureIndex() 创建索引 -> db.demo323.insertOne({"details":{"Name":"Chris", "Age":34}}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e51157af8647eb59e56206e") } > db.demo323.insertOne({"details":{"Name":"David", "Age":31}}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e511581f8647eb59e56206f") } > db.demo323.insertOne({"details":{"Name":"Bob", "Age":28}}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e511589f8647eb59e562070") } > db.demo323.ensureIndex({"details.Name":1}); {    "createdCollectionAutomatically" : false,    "numIndexesBefore" : 2,    "numIndexesAfter" : 3,    "ok" : 1 }使用 find() 方法显示集合中的所有文档 -> db.demo323.find();这将产生以下输出 -{ "_id" : ObjectId("5e51157af8647eb59e56206e"), "details" : ... 阅读更多

检查 MongoDB 中是否存在文档/嵌入式文档

AmitDiwan
更新于 2020年4月2日 06:22:16

189 次浏览

要检查是否存在文档/嵌入式文档,请在 MongoDB 中使用 $exists。让我们创建一个包含文档的集合 -> db.demo322.insertOne( ...  {'id':1001, ...    'details':[{'Score':10000, Name:"Bob"}, ...       {'Score':98000, Name:"Sam"} ...    ] ... } ... ); {    "acknowledged" : true,    "insertedId" : ObjectId("5e5113e2f8647eb59e56206c") } > db.demo322.insertOne( ... {'id':10002, ...    'details':[{'Score':9000}, ...       {'Score':91000} ...       ] ... } ... ); {    "acknowledged" : true,    "insertedId" : ObjectId("5e5113faf8647eb59e56206d") }使用 find() 方法显示集合中的所有文档 -> db.demo322.find();这将产生以下输出 -{    "_id" ... 阅读更多

如何在 MongoDB 中存储数组值?

AmitDiwan
更新于 2020年4月2日 06:19:49

1K+ 次浏览

让我们首先创建一个包含文档的集合,我们在其中存储数组值 ->db.demo321.insertOne({"UserDetails":[{"UserId":101, "UserName":"Chris"}, {"UserId":102, "UserName":"Mike"}]}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e511248f8647eb59e56206a") } >db.demo321.insertOne({"UserDetails":[{"UserId":103, "UserName":"Bob"}, {"UserId":104, "UserName":"Sam"}]}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e511259f8647eb59e56206b") }使用 find() 方法显示集合中的所有文档 -> db.demo321.find();这将产生以下输出 -{ "_id" : ObjectId("5e511248f8647eb59e56206a"), "UserDetails" : [ { "UserId" : 101, "UserName" : "Chris" }, { "UserId" : 102, "UserName" : "Mike" } ] } { "_id" : ObjectId("5e511259f8647eb59e56206b"), "UserDetails" : [ { "UserId" : 103, "UserName" : "Bob" }, ... 阅读更多

MongoDB 中更新的最快方法是 update() 还是 save()?

AmitDiwan
更新于 2020年4月2日 06:16:54

158 次浏览

更新的最快方法是 update()。让我们创建一个包含文档的集合,并看看 update() 如何工作 -> db.demo320.insertOne({"Name":"Chris"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e50ee51f8647eb59e562066") } > db.demo320.insertOne({"Name":"Robert"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e50ee55f8647eb59e562067") } > db.demo320.insertOne({"Name":"Mike"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e50ee59f8647eb59e562068") } > db.demo320.insertOne({"Name":"Sam"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e50ee5bf8647eb59e562069") }使用 find() 方法显示集合中的所有文档 -> db.demo320.find();这将产生以下输出 -{ "_id" : ObjectId("5e50ee51f8647eb59e562066"), "Name" : "Chris" } { "_id" : ObjectId("5e50ee55f8647eb59e562067"), "Name" : "Robert" ... 阅读更多

MongoDB 中数组中定长子集合的查询

AmitDiwan
更新于 2020年4月2日 06:15:05

358 次浏览

在 MongoDB 中,不能对子集合使用定长集合。但是,可以在整个文档上使用定长集合。要从数组中显示特定数量的值,请使用 $slice。让我们创建一个包含文档的集合 -> db.demo319.insertOne({"Scores":[100, 345, 980, 890]}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e50ecf6f8647eb59e562064") } > db.demo319.insertOne({"Scores":[903, 10004, 84575, 844]}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e50ed01f8647eb59e562065") }使用 find() 方法显示集合中的所有文档 -> db.demo319.find().pretty();这将产生以下输出 -{    "_id" : ObjectId("5e50ecf6f8647eb59e562064"),    "Scores" : [       100,       345,     ... 阅读更多

MongoDB 查询以从文档中提取特定值

AmitDiwan
更新于 2020年4月2日 06:10:59

430 次浏览

要提取特定值,请使用带有 $pull 的 UPDATE。让我们创建一个包含文档的集合 -> db.demo318.insertOne({Subject:["MySQL", "MongoDB", "Java"]}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e50ea6df8647eb59e562062") } > db.demo318.insertOne({Subject:["Spring", "Hibernate"]}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e50ea78f8647eb59e562063") }使用 find() 方法显示集合中的所有文档 -> db.demo318.find();这将产生以下输出 -{ "_id" : ObjectId("5e50ea6df8647eb59e562062"), "Subject" : [ "MySQL", "MongoDB", "Java" ] } { "_id" : ObjectId("5e50ea78f8647eb59e562063"), "Subject" : [ "Spring", "Hibernate" ] }以下是在查询中使用 $pull 提取特定值“Hibernate”的方法 -> db.demo318.update({Subject:"Hibernate"}, {$pull:{"Subject":"Hibernate"}}); WriteResult({ "nMatched" : 1, ... 阅读更多

如何在 MongoDB 中从嵌入式列表中获取大于特定值的值?

AmitDiwan
更新于 2020年4月2日 06:06:30

267 次浏览

要获取大于特定值的值,请结合使用`$gt`和`find()`。让我们创建一个包含文档的集合 -> db.demo317.insertOne( ...    {'id':101, ...       'details':[{'Score':78, Name:"Chris"}, ...          {'Score':88, Name:"David"} ...       ] ...    } ... ); {    "acknowledged" : true,    "insertedId" : ObjectId("5e50e69cf8647eb59e562060") } > db.demo317.insertOne( ...    {'id':102, ...    'details':[{'Score':90, Name:"Chris"}, ...       {'Score':91, Name:"David"} ...       ] ...    } ... ); {    "acknowledged" : true,    "insertedId" : ObjectId("5e50e6adf8647eb59e562061") }显示集合中所有文档... 阅读更多

广告