找到关于 MongoDB 的 1349 篇文章
162 次浏览
要搜索值,只需在 MongoDB 中使用 $where。让我们创建一个包含文档的集合 −> db.demo268.insertOne( ... { ... "details" : { ... "101" : "John", ... "1001" : "Bob" ... } ... } ...); { "acknowledged" : true, "insertedId" : ObjectId("5e4816141627c0c63e7dbaaf") }使用 find() 方法显示集合中的所有文档 −> db.demo268.find();这将产生以下输出 −{ "_id" : ObjectId("5e4816141627c0c63e7dbaaf"), "details" : { "101" : "John", "1001" : "Bob" } }以下是在…阅读更多
192 次浏览
对于降序,使用 -1,它指定 sort() 的排序顺序,让我们创建一个包含文档的集合 −> db.demo267.insertOne({id:100, "Name":"Chris"}); { "acknowledged" : true, "insertedId" : ObjectId("5e4811951627c0c63e7dbaab") } > db.demo267.insertOne({id:100, "Name":"Adam"}); { "acknowledged" : true, "insertedId" : ObjectId("5e48119e1627c0c63e7dbaac") } > db.demo267.insertOne({id:100, "Name":"David"}); { "acknowledged" : true, "insertedId" : ObjectId("5e4811a51627c0c63e7dbaad") } > db.demo267.insertOne({id:100, "Name":"Bob"}); { "acknowledged" : true, "insertedId" : ObjectId("5e4811ab1627c0c63e7dbaae") }使用 find() 方法显示集合中的所有文档 −> db.demo267.find().pretty(); { "_id" : ObjectId("5e4811951627c0c63e7dbaab"), "id" : 100, "Name" : "Chris" } { "_id" ... 阅读更多
213 次浏览
$not 运算符不会反转复杂的表达式。因此,请使用 $and 或 $or 与 $ne 运算符。让我们创建一个包含文档的集合 −> db.demo266.insertOne({"active1":true, "active2":false}); { "acknowledged" : true, "insertedId" : ObjectId("5e480f4b1627c0c63e7dbaa7") } > db.demo266.insertOne({"active1":true, "active2":true}); { "acknowledged" : true, "insertedId" : ObjectId("5e480f501627c0c63e7dbaa8") } > db.demo266.insertOne({"active1":false, "active2":false}); { "acknowledged" : true, "insertedId" : ObjectId("5e480f561627c0c63e7dbaa9") } > db.demo266.insertOne({"active1":false, "active2":true}); { "acknowledged" : true, "insertedId" : ObjectId("5e480f701627c0c63e7dbaaa") }使用 find() 方法显示集合中的所有文档 −> db.demo266.find();这将产生以下输出 −{ "_id" : ObjectId("5e480f4b1627c0c63e7dbaa7"), "active1" : true, "active2" ... 阅读更多
192 次浏览
要仅更新某些字段,请使用 $set。让我们创建一个包含文档的集合 −> db.demo265.insertOne({"id":101, "Name":"Chris"}); { "acknowledged" : true, "insertedId" : ObjectId("5e480d781627c0c63e7dbaa4") } > db.demo265.insertOne({"id":102, "Name":"Bob"}); { "acknowledged" : true, "insertedId" : ObjectId("5e480d7d1627c0c63e7dbaa5") } > db.demo265.insertOne({"id":103, "Name":"David"}); { "acknowledged" : true, "insertedId" : ObjectId("5e480d841627c0c63e7dbaa6") }使用 find() 方法显示集合中的所有文档 −> db.demo265.find();这将产生以下输出 −{ "_id" : ObjectId("5e480d781627c0c63e7dbaa4"), "id" : 101, "Name" : "Chris" } { "_id" : ObjectId("5e480d7d1627c0c63e7dbaa5"), "id" : 102, "Name" : "Bob" } { "_id" : ObjectId("5e480d841627c0c63e7dbaa6"), "id" : 103, ... 阅读更多
402 次浏览
要获取计数和顶级用户,请使用 $group 以及 aggregate()。让我们创建一个包含文档的集合 −> db.demo264.insertOne({"Name":"Chris"}); { "acknowledged" : true, "insertedId" : ObjectId("5e47ed441627c0c63e7dba9e") } > db.demo264.insertOne({"Name":"David"}); { "acknowledged" : true, "insertedId" : ObjectId("5e47ed471627c0c63e7dba9f") } > db.demo264.insertOne({"Name":"Chris"}); { "acknowledged" : true, "insertedId" : ObjectId("5e47ed491627c0c63e7dbaa0") } > db.demo264.insertOne({"Name":"Bob"}); { "acknowledged" : true, "insertedId" : ObjectId("5e47ed4c1627c0c63e7dbaa1") } > db.demo264.insertOne({"Name":"Chris"}); { "acknowledged" : true, "insertedId" : ObjectId("5e47ed4e1627c0c63e7dbaa2") } > db.demo264.insertOne({"Name":"Bob"}); { "acknowledged" : true, "insertedId" : ObjectId("5e47ed531627c0c63e7dbaa3") }使用 find() 方法显示集合中的所有文档…阅读更多
180 次浏览
要在 MongoDB 中跳过文档,请使用 skip()。让我们创建一个包含文档的集合 −> db.demo263.insertOne({_id:100}); { "acknowledged" : true, "insertedId" : 100 } > db.demo263.insertOne({_id:200}); { "acknowledged" : true, "insertedId" : 200 } > db.demo263.insertOne({_id:300}); { "acknowledged" : true, "insertedId" : 300 }使用 find() 方法显示集合中的所有文档 −> db.demo263.find();这将产生以下输出 −{ "_id" : 100 } { "_id" : 200 } { "_id" : 300 }以下是跳过文档的查询 −> result = db.demo263.aggregate([ ... { ... $project: { ... v_id: { $ifNull: [null, [100, 200]] } ... ... } ... }, ... { $unwind: '$v_id' }, ... { $sort: { v_id: 1, _id: 1 } }, ... ... { $skip: 2 }, ... { $limit: 2 } ...]);这将产生以下输出 −{ "_id" : 300, "v_id" : 100 } { "_id" : 100, "v_id" : 200 }
210 次浏览
要反转结果,即 $and 操作的反面,请使用 $OR 以及 $ne。让我们首先创建一个包含文档的集合 −> db.demo4.insert({uid:1, "Name":"Chris", "Age":22}); WriteResult({ "nInserted" : 1 }) > db.demo4.insert({uid:2, "Name":"David", "Age":21}); WriteResult({ "nInserted" : 1 }) > db.demo4.insert({uid:3, "Name":"Bob", "Age":23}); WriteResult({ "nInserted" : 1 }) > db.demo4.insert({uid:1, "Name":"Carol", "Age":20}); WriteResult({ "nInserted" : 1 })以下是使用 find() 方法显示集合中所有文档的查询 −> db.demo4.find();这将产生以下输出 −{ "_id" : ObjectId("5e0a1da125ddae1f53b62221"), "uid" : 1, "Name" : "Chris", "Age" : 22 } { "_id" : ObjectId("5e0a1db025ddae1f53b62222"), "uid" : ... 阅读更多
262 次浏览
要修改序列,请使用findAndModify()。让我们创建一个包含文档的集合 -> db.demo261.insertOne({_id:100, Name:"Chris"}); { "acknowledged" : true, "insertedId" : 100 } 使用find()方法显示集合中的所有文档 -> db.demo261.find(); 这将产生以下输出 -> { "_id" : 100, "Name" : "Chris" } 以下是修改序列的查询 -> db.demo262.insert({_id:"newId", sequence_value:0}) WriteResult({ "nInserted" : 1 }) > function getNext(sName){ ... ... var d= db.demo262.findAndModify({ ... query:{_id: sName}, ... update: {$inc:{sequence_value:1}}, ... new:true ... }); ... return d.sequence_value; ...} 以下是调用... 阅读更多
468 次查看
为此,您可以使用 $and 以及点(.)表示法。让我们首先创建一个包含文档的集合 -> db.demo2.insertOne({"StudentInformation":[{"StudentName":"John", "StudentAge":21}, {"StudentName":"Mike", "StudentAge":22}]}); { "acknowledged" : true, "insertedId" : ObjectId("5e08b56e25ddae1f53b62219") } >db.demo2.insertOne({"StudentInformation":[{"StudentName":"Carol", "StudentAge":19}, {"StudentName":"Bob", "StudentAge":18}]}); { "acknowledged" : true, "insertedId" : ObjectId("5e08b58625ddae1f53b6221a") } 以下是使用find()方法显示集合中所有文档的查询 -> db.demo2.find().pretty(); 这将产生以下输出 -> { "_id" : ObjectId("5e08b56e25ddae1f53b62219"), "StudentInformation" : [ { "StudentName" : "John", "StudentAge" : 21 }, ... 阅读更多