找到 1349 篇文章 关于 MongoDB
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" : ... 阅读更多
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" ... 阅读更多
86 次浏览
要通过 ID 搜索数组,请使用位置运算符 $。对于更新,请使用 MongoDB 中的 UPDATE。让我们创建一个包含文档的集合 -> db.demo49.insertOne( ... { ... ... "Name": "David", ... "Details": [ ... { ... "_id": "D1234", ... "Subject":"MySQL" ... }, ... { ... "_id": "E234", ... "Subject":"Java" ... }, ... { ... "_id": "F456", ... ... 阅读更多
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" ] }阅读更多
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" : ... 阅读更多
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" : ... 阅读更多
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") }
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" ... 阅读更多
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 }
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); ... 阅读更多