找到 1349 篇文章 关于 MongoDB

如何在 MongoDB 中从另一列设置一个相似的名称?

AmitDiwan
更新于 2020-04-03 12:30:22

129 次浏览

只需使用 forEach() 循环并从另一列设置列值。让我们创建一个包含文档的集合 -> db.demo51.insert({"Name1":"Chris", "Name":"David", "Age":24}); WriteResult({ "nInserted" : 1 }) > db.demo51.insert({"Name1":"Carol", "Name":"Mike", "Age":22}); WriteResult({ "nInserted" : 1 }) > db.demo51.insert({"Name1":"Sam", "Name":"Bob", "Age":26}); WriteResult({ "nInserted" : 1 })使用 find() 方法显示集合中的所有文档 -> db.demo51.find();这将产生以下输出 -{ "_id" : ObjectId("5e27108ccfb11e5c34d8990d"), "Name1" : "Chris", "Name" : "David", "Age" : 24 } { "_id" : ObjectId("5e27108dcfb11e5c34d8990e"), "Name1" : "Carol", "Name" : "Mike", "Age" : 22 } { "_id" : ObjectId("5e27108ecfb11e5c34d8990f"), "Name1" : "Sam", "Name" : ... 阅读更多

如何在 MongoDB 中获取大于 50 的值数组(而不是 JSON 数组)?

AmitDiwan
更新于 2020-04-03 12:29:00

87 次浏览

为了避免获取 JSON 数组并获取值数组,请使用 $in。对于大于,请使用 MongoDB $gt。让我们创建一个包含文档的集合 -> db.demo50.save({"Value":40}); WriteResult({ "nInserted" : 1 }) > db.demo50.save({"Value":100}); WriteResult({ "nInserted" : 1 }) > db.demo50.save({"Value":20}); WriteResult({ "nInserted" : 1 }) > db.demo50.save({"Value":510}); WriteResult({ "nInserted" : 1 })使用 find() 方法显示集合中的所有文档 -> db.demo50.find();这将产生以下输出 -{ "_id" : ObjectId("5e270c02cfb11e5c34d89903"), "Value" : 40 } { "_id" : ObjectId("5e270c05cfb11e5c34d89904"), "Value" : 100 } { "_id" : ObjectId("5e270c07cfb11e5c34d89905"), "Value" : 20 } { "_id" : ObjectId("5e270c11cfb11e5c34d89906"), "Value" ... 阅读更多

在 MongoDB 集合中通过其 ID 搜索数组条目并执行更新

AmitDiwan
更新于 2020-04-03 12:27:44

86 次浏览

要通过 ID 搜索数组,请使用位置运算符 $。对于更新,请使用 MongoDB 中的 UPDATE。让我们创建一个包含文档的集合 -> db.demo49.insertOne( ... { ... ...    "Name": "David", ...    "Details": [ ...       { ...          "_id": "D1234", ...          "Subject":"MySQL" ...       }, ...       { ...          "_id": "E234", ...          "Subject":"Java" ...       }, ...       { ...          "_id": "F456", ...       ... 阅读更多

MongoDB 查询以获取特定数量的项目

AmitDiwan
更新于 2020-04-03 12:25:41

231 次浏览

要获取特定数量的项目,请在 MongoDB 中使用 $slice 运算符。让我们创建一个包含文档的集合 -> db.demo48.insertOne({"Name":["David", "Chris", "Sam", "Mike", "Carol"]}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e270491cfb11e5c34d89901") }使用 find() 方法显示集合中的所有文档 -> db.demo48.find();这将产生以下输出 -{ "_id" : ObjectId("5e270491cfb11e5c34d89901"), "Name" : [ "David", "Chris", "Sam", "Mike", "Carol" ] }以下是仅获取 2 个项目的查询 -> db.demo48.find({}, {Name:{$slice: 2}});这将产生以下输出 -{ "_id" : ObjectId("5e270491cfb11e5c34d89901"), "Name" : [ "David", "Chris" ] }阅读更多

如何在 MongoDB 中返回文档相对于集合的位置?

AmitDiwan
更新于 2020-04-03 12:24:16

490 次浏览

要返回文档相对于集合的位置,请将 sort() 与 count() 一起使用。让我们创建一个包含文档的集合 -> db.demo47.insertOne({"ClientName":"Adam"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e267240cfb11e5c34d898f0") } > db.demo47.insertOne({"ClientName":"John"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e267243cfb11e5c34d898f1") } > db.demo47.insertOne({"ClientName":"Chris"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e267247cfb11e5c34d898f2") } > db.demo47.insertOne({"ClientName":"Sam"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e26724ccfb11e5c34d898f3") }使用 find() 方法显示集合中的所有文档 -> db.demo47.find();这将产生以下输出 -{ "_id" : ObjectId("5e267240cfb11e5c34d898f0"), "ClientName" : "Adam" } { "_id" : ... 阅读更多

索引大型文本字段以加快 MongoDB 中的查询速度

AmitDiwan
更新于 2020-04-03 12:22:18

143 次浏览

要索引大型文本字段,请将 ensureIndex() 与 $regex 一起用于文本搜索。让我们创建一个包含文档的集合 -> db.demo46.ensureIndex({"Name":1}); {    "createdCollectionAutomatically" : true,    "numIndexesBefore" : 1,    "numIndexesAfter" : 2,    "ok" : 1 } > db.demo46.insertOne({"Name":"John Smith"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e267004cfb11e5c34d898ed") } > db.demo46.insertOne({"Name":"John Doe"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e267009cfb11e5c34d898ee") } > db.demo46.insertOne({"Name":"Chris Brown"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e267011cfb11e5c34d898ef") }使用 find() 方法显示集合中的所有文档 -> db.demo46.find();这将产生以下输出 -{ "_id" : ... 阅读更多

如何在 MongoDB 中获取已保存的对象?

AmitDiwan
更新于 2020-04-03 12:21:09

228 次浏览

让我们首先创建一个变量。以下是查询 -> var studentDetails={"StudentFirstName":"Chris","StudentLastName":"Brown","StudentAge":24};以下是使用 save() 保存记录的查询 -> db.demo45.save(studentDetails); WriteResult({ "nInserted" : 1 })使用 find() 方法显示集合中的所有文档 -> studentDetails;这将产生以下输出 -{    "StudentFirstName" : "Chris",    "StudentLastName" : "Brown",    "StudentAge" : 24,    "_id" : ObjectId("5e25dab4cfb11e5c34d898ec") }

如何将查询输出存储到临时 MongoDB 数据库中?

AmitDiwan
更新于 2020-04-03 12:19:23

654 次浏览

为此,在一个查询中,只需使用 forEach() 并将输出存储到一个临时数据库中。让我们首先创建一个包含文档的集合 -> db.demo43.insertOne({"StudentName":"Chris"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e25d4b3cfb11e5c34d898e5") } > db.demo43.insertOne({"StudentName":"Bob"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e25d4b8cfb11e5c34d898e6") } > db.demo43.insertOne({"StudentName":"David"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e25d4bbcfb11e5c34d898e7") }使用 find() 方法显示集合中的所有文档 -> db.demo43.find();这将产生以下输出 -{ "_id" : ObjectId("5e25d4b3cfb11e5c34d898e5"), "StudentName" : "Chris" } { "_id" : ObjectId("5e25d4b8cfb11e5c34d898e6"), "StudentName" : "Bob" } { "_id" : ObjectId("5e25d4bbcfb11e5c34d898e7"), "StudentName" ... 阅读更多

在 MongoDB 中重建索引?

AmitDiwan
更新于 2020-04-03 12:18:08

526 次浏览

要重建索引,请使用 reIndex()。让我们首先创建一个索引。以下是查询 -> db.demo42.createIndex({"StudentFirstName":1});这将产生以下输出 -{    "createdCollectionAutomatically" : true,    "numIndexesBefore" : 1,    "numIndexesAfter" : 2,    "ok" : 1 }以下是重建 MongoDB 中索引的查询 -> db.demo42.reIndex({"StudentFirstName":1});这将产生以下输出 -{    "nIndexesWas" : 2,    "nIndexes" : 2,    "indexes" : [       {          "v" : 2,          "key" : {             "_id" : 1          },          "name" : "_id_",          "ns" : "web.demo42"       },       {          "v" : 2,          "key" : {             "StudentFirstName" : 1          },          "name" : "StudentFirstName_1",          "ns" : "web.demo42"       }   ],    "ok" : 1 }

MongoDB 查询以添加多个文档

AmitDiwan
更新于 2020-04-02 14:31:11

173 次浏览

要执行多个写入操作,请使用 bulkWrite()。让我们创建一个数组列表值。以下是查询 -> const arrayList = [ ...    {"Value1":100, "Value2":200, "Name": "John"}, ...    {"Value1":100, "Value2":200, "Name": "Bob"} ... ]; > let op1 = []; > arrayList.forEach(({ Value1, Value2, Name }) => { ...    op1.push({ ...       "updateOne": { ...          "filter": { Name}, ...          "update": { "$set": { Value1, Value2, Name } }, ...          "upsert": true ...       } ...    }) ... }); > db.demo397.bulkWrite(op1); ... 阅读更多

广告