找到关于 MongoDB 的1349 篇文章
2K+ 次浏览
使用 $push 运算符添加子文档。让我们首先创建一个包含文档的集合 −> db.subDocumentToSubDocumentDemo.insertOne( { "_id" :101, "StudentName" : "Larry", "StudentAge" : 21, "StudentDetails" : [ { "StudentCountryName" : "US", "StudentFavouriteSubjectList" : [] } ] } ); { "acknowledged" : true, "insertedId" : 101 }接下来是使用...阅读更多
360 次浏览
为此,请使用 $size 运算符。让我们首先创建一个包含文档的集合 −> db.checkIfListIsNotEmptyDemo.insertOne({"UserFriendGroup":["John", "David"]}); { "acknowledged" : true, "insertedId" : ObjectId("5cdd99e8bf3115999ed511f7") } > db.checkIfListIsNotEmptyDemo.insertOne({"UserFriendGroup":["Carol"]}); { "acknowledged" : true, "insertedId" : ObjectId("5cdd99e9bf3115999ed511f8") } > db.checkIfListIsNotEmptyDemo.insertOne({"UserFriendGroup":[]}); { "acknowledged" : true, "insertedId" : ObjectId("5cdd99ebbf3115999ed511f9") } > db.checkIfListIsNotEmptyDemo.insertOne({"UserFriendGroup":[null]}); { "acknowledged" : true, "insertedId" : ObjectId("5cdd99f2bf3115999ed511fa") } > db.checkIfListIsNotEmptyDemo.insertOne({"UserFriendGroup":[]}); { "acknowledged" : true, "insertedId" : ObjectId("5cdd99f6bf3115999ed511fb") }接下来是使用 find() 方法显示集合中所有文档的查询 −> db.checkIfListIsNotEmptyDemo.find().pretty();这将产生以下输出 −{ ...阅读更多
2K+ 次浏览
假设你保存了用户的登录日期。现在,你只想获取特定日期的记录数,即登录日期。为此,请使用 $gte 和 $lt 运算符以及 count()。让我们首先创建一个包含文档的集合 −> db.findDataByDateDemo.insertOne({"UserName":"John", "UserLoginDate":new ISODate("2019-01-31")}); { "acknowledged" : true, "insertedId" : ObjectId("5cdd8cd7bf3115999ed511ed") } > db.findDataByDateDemo.insertOne({"UserName":"Larry", "UserLoginDate":new ISODate("2019-02-01")}); { "acknowledged" : true, "insertedId" : ObjectId("5cdd8ce7bf3115999ed511ee") } > db.findDataByDateDemo.insertOne({"UserName":"Sam", "UserLoginDate":new ISODate("2019-05-02")}); { "acknowledged" : true, "insertedId" : ObjectId("5cdd8cf3bf3115999ed511ef") } > db.findDataByDateDemo.insertOne({"UserName":"David", "UserLoginDate":new ISODate("2019-05-16")}); { "acknowledged" : true, "insertedId" : ObjectId("5cdd8d00bf3115999ed511f0") } > db.findDataByDateDemo.insertOne({"UserName":"Carol", ...阅读更多
193 次浏览
如果你尝试使用 drop() 方法,它将删除集合的所有信息。索引速度很快。但是,如果你使用 remove() 方法,它会删除所有记录,但保留集合和索引。让我们通过示例进行检查。使用 drop()让我们首先创建一个包含文档的集合 −> db.dropWorkingDemo.createIndex({"FirstName":1}); { "createdCollectionAutomatically" : true, "numIndexesBefore" : 1, "numIndexesAfter" : 2, "ok" : 1 } > db.dropWorkingDemo.insertOne({"FirstName":"John"}); { "acknowledged" : true, "insertedId" : ObjectId("5cdd8742bf3115999ed511e9") }接下来是使用...阅读更多
277 次浏览
你可以为此使用 $where 运算符。让我们首先创建一个包含文档的集合 −> db.sumOfFieldIsGreaterThanDemo.insertOne({"Price1":10, "Price2":50, "Price3":40}); { "acknowledged" : true, "insertedId" : ObjectId("5cdd84b8bf3115999ed511e6") } > db.sumOfFieldIsGreaterThanDemo.insertOne({"Price1":11, "Price2":1, "Price3":120}); { "acknowledged" : true, "insertedId" : ObjectId("5cdd84c6bf3115999ed511e7") } > db.sumOfFieldIsGreaterThanDemo.insertOne({"Price1":10, "Price2":9, "Price3":6}); { "acknowledged" : true, "insertedId" : ObjectId("5cdd84d2bf3115999ed511e8") }接下来是使用 find() 方法显示集合中所有文档的查询 −> db.sumOfFieldIsGreaterThanDemo.find();这将产生以下输出 −{ "_id" : ObjectId("5cdd84b8bf3115999ed511e6"), "Price1" : 10, "Price2" : 50, "Price3" : 40 } { "_id" : ObjectId("5cdd84c6bf3115999ed511e7"), "Price1" : ...阅读更多
370 次浏览
你需要使用 multi:true 来更新多个文档。让我们首先创建一个包含文档的集合 −> db.multiUpdateDemo.insertOne({"ClientName":"John", "ClientAge":29}); { "acknowledged" : true, "insertedId" : ObjectId("5cda5bc0b50a6c6dd317adc8") } > db.multiUpdateDemo.insertOne({"ClientName":"Carol", "ClientAge":31}); { "acknowledged" : true, "insertedId" : ObjectId("5cda5bc1b50a6c6dd317adc9") } > db.multiUpdateDemo.insertOne({"ClientName":"John", "ClientAge":39}); { "acknowledged" : true, "insertedId" : ObjectId("5cda5bc3b50a6c6dd317adca") } > db.multiUpdateDemo.insertOne({"ClientName":"John", "ClientAge":41}); { "acknowledged" : true, "insertedId" : ObjectId("5cda5bc5b50a6c6dd317adcb") } > db.multiUpdateDemo.insertOne({"ClientName":"David", "ClientAge":35}); { "acknowledged" : true, "insertedId" : ObjectId("5cda5bc6b50a6c6dd317adcc") }接下来是使用 find() 方法显示集合中所有文档的查询 −> db.multiUpdateDemo.find().pretty();这...阅读更多
246 次浏览
你可以为此使用 $set 运算符。以下是语法 −db.yourCollectionName.update({"_id" : yourObjectId }, {$set: { "yourOuterFieldName.anyInnerFieldName": yourValue}});让我们首先创建一个包含文档的集合 −> db.pushNewKeyDemo.insertOne({"UserId":100, "UserDetails":{}}); { "acknowledged" : true, "insertedId" : ObjectId("5cda58f5b50a6c6dd317adbf") }接下来是使用 find() 方法显示集合中所有文档的查询 −> db.pushNewKeyDemo.find();这将产生以下输出 −{ "_id" : ObjectId("5cda58f5b50a6c6dd317adbf"), "UserId" : 100, "UserDetails" : { } }接下来是将新的键元素推入 MongoDB 子文档中的查询 −> db.pushNewKeyDemo.update({"_id" : ObjectId("5cda58f5b50a6c6dd317adbf")}, {$set: { "UserDetails.UserName": "David Miller"}}); WriteResult({ "nMatched" : 1, ...阅读更多
351 次浏览
你可以使用 $pull 运算符从数组中删除字符串。让我们首先创建一个包含文档的集合 −> db.removeAStringDemo.insertOne({"Score":[45, 67, 89, "John", 98, 99, 67]}); { "acknowledged" : true, "insertedId" : ObjectId("5cda5224b50a6c6dd317adbd") }接下来是使用 find() 方法显示集合中所有文档的查询 −> db.removeAStringDemo.find().pretty();这将产生以下输出 −{ "_id" : ObjectId("5cda5224b50a6c6dd317adbd"), "Score" : [ 45, 67, 89, "John", 98, 99, 67 ] ...阅读更多
61 次浏览
您可以使用 `$where` 运算符来实现这一点。 让我们首先创建一个包含文档的集合:->db.veryStrictDocumentDemo.insertOne({"StudentFirstName":"John", "StudentLastName":"Doe", "StudentAge":23}); { "acknowledged" : true, "insertedId" : ObjectId("5cda4bcdb50a6c6dd317adb8") } > db.veryStrictDocumentDemo.insertOne({"StudentFirstName":"Larry"}); { "acknowledged" : true, "insertedId" : ObjectId("5cda4bdbb50a6c6dd317adb9") } >db.veryStrictDocumentDemo.insertOne({"StudentFirstName":"David", "StudentLastName":"Miller"}); { "acknowledged" : true, "insertedId" : ObjectId("5cda4becb50a6c6dd317adba") } > db.veryStrictDocumentDemo.insertOne({"StudentFirstName":"Chris"}); { "acknowledged" : true, "insertedId" : ObjectId("5cda4bfbb50a6c6dd317adbb") } > db.veryStrictDocumentDemo.insertOne({"StudentFirstName":"Bob", "StudentLastName":"Brown"}); { "acknowledged" : true, "insertedId" : ObjectId("5cda4c6db50a6c6dd317adbc") }以下是使用 find() 方法显示集合中所有文档的查询:-> db.veryStrictDocumentDemo.find();这将产生以下输出... 阅读更多