找到 6705 篇文章 关于数据库
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); ... 阅读更多
2K+ 次查看
为此,请使用 $lookup。这会对同一数据库中未分片的集合执行左外部联接,以筛选“联接”集合中的文档以进行处理。让我们首先创建一个包含文档的集合 -> db.demo395.insertOne({Name:"Chris"}); { "acknowledged" : true, "insertedId" : ObjectId("5e5e782317aa3ef9ab8ab207") } > db.demo395.insertOne({Name:"David"}); { "acknowledged" : true, "insertedId" : ObjectId("5e5e782317aa3ef9ab8ab208") }使用 find() 方法显示集合中的所有文档 -> db.demo395.find();这将产生以下输出 -{ "_id" : ObjectId("5e5e782317aa3ef9ab8ab207"), "Name" : "Chris" } { "_id" : ObjectId("5e5e782317aa3ef9ab8ab208"), "Name" : "David" }让我们创建一个包含文档的第二个集合 ... 阅读更多
165 次查看
让我们首先创建一个包含文档的集合 -> db.demo394.insertOne( ... { ... ... details: [ ... { ... _id: '1', ... startDate: '2018-01-11T07:00:00.000Z', ... endDate: '2019-01-12T07:59:59.999Z' ... }, ... { ... _id: '2', ... startDate: '2019-01-21T07:00:00.000Z', ... endDate: '2020-01-04T07:59:59.999Z' ... } ... ] ... } ... ); { "acknowledged" : true, "insertedId" : ObjectId("5e5e716817aa3ef9ab8ab202") }显示所有 ... 阅读更多
314 次查看
为此,请使用 aggregate()。让我们首先创建一个包含文档的集合 -> db.demo393.insertOne( ... { ... Id1: "1", ... Name: "Chris", ... Id2: "100" ... } ... ); { "acknowledged" : true, "insertedId" : ObjectId("5e5e6dd522064be7ab44e804") } > db.demo393.insertOne( ... { ... Id1: "1", ... Name: "Chris", ... Id2: "101" ... } ... ); { "acknowledged" : true, "insertedId" : ObjectId("5e5e6dd522064be7ab44e805") } > db.demo393.insertOne( ... { ... Id1: "3", ... ... 阅读更多
467 次查看
要提取值,请使用 $pull 并设置 multi: true。让我们首先创建一个包含文档的集合 -> db.demo392.insertOne( ... { ... Name: 'Chris', ... details: [ ... { ... _id: '101' ... ... }, ... { ... _id: '102' ... } ... ] ... } ... ); { "acknowledged" : true, "insertedId" : ObjectId("5e5d2b3322064be7ab44e802") } > > db.demo392.insertOne( ... 阅读更多
495 次查看
要获取单个元素,请使用聚合和 LIMIT。skip() 用于跳过特定数量的文档。让我们首先创建一个包含文档的集合 -> db.demo391.insertOne( ... { "_id" : 101, "Name" : "Chris", Values: ["101", "102"] } ... ) { "acknowledged" : true, "insertedId" : 101 } > db.demo391.insertOne( ... { "_id" : 111, "Name" : "Chris", Values: ["101", "102"] } ... ) { "acknowledged" : true, "insertedId" : 111 } > db.demo391.insertOne( ... { "_id" : 121, "Name" : "Chris", Values: ["101", "102"] } ... ) { "acknowledged" : true, "insertedId" : ... 阅读更多
390 次查看
您需要将 multi 设置为 true。包含选项 multi - true 以更新与查询条件匹配的所有文档。让我们首先创建一个包含文档的集合 -> db.demo390.insertOne({"FirstName":"Chris"}); { "acknowledged" : true, "insertedId" : ObjectId("5e5d1f3a22064be7ab44e7fa") } > db.demo390.insertOne({"FirstName":"David"}); { "acknowledged" : true, "insertedId" : ObjectId("5e5d1f3e22064be7ab44e7fb") } > db.demo390.insertOne({"FirstName":"Bob"}); { "acknowledged" : true, "insertedId" : ObjectId("5e5d1f4122064be7ab44e7fc") } > db.demo390.insertOne({"FirstName":"Chris"}); { "acknowledged" : true, "insertedId" : ObjectId("5e5d1f4422064be7ab44e7fd") }使用 find() 方法显示集合中的所有文档 -> db.demo390.find();这将产生以下输出 -{ "_id" : ObjectId("5e5d1f3a22064be7ab44e7fa"), "FirstName" ... 阅读更多
568 次查看
解开(Unwind)是指将输入文档中的数组字段解构,为每个元素输出一个文档。要在 MongoDB 聚合中解开数组,可以使用 $unwind。让我们首先创建一个包含文档的集合 -> db.demo387.insertOne( ... { ... ... "Name" : "101", ... "Details1" : [ ... {Value:100, Value1:50, Value2:40}, ... {Value:200}, ... {Value:300} ... ], ... "Details" : [ ... {Value:100, Value1:30, Value2:26}, ... {Value:200}, ... 阅读更多