找到 1349 篇文章 关于 MongoDB

如何在 MongoDB 中执行聚合排序?

Nishtha Thakur
更新于 2019-07-30 22:30:25

207 次浏览

您可以使用 aggregate() 方法以及 $sort() 运算符来实现此目的。为了理解这个概念,让我们创建一个包含文档的集合。创建包含文档的集合的查询如下所示:-> db.aggregationSortDemo.insertOne({"StudentId":98, "StudentFirstName":"John", "StudentLastName":"Smith"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c90140c5705caea966c5587") } > db.aggregationSortDemo.insertOne({"StudentId":128, "StudentFirstName":"Carol", "StudentLastName":"Taylor"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c90141b5705caea966c5588") } > db.aggregationSortDemo.insertOne({"StudentId":110, "StudentFirstName":"David", "StudentLastName":"Miller"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c90142f5705caea966c5589") } > db.aggregationSortDemo.insertOne({"StudentId":139, "StudentFirstName":"Chris", "StudentLastName":"Brown"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c90146a5705caea966c558a") } > db.aggregationSortDemo.insertOne({"StudentId":125, "StudentFirstName":"Sam", "StudentLastName":"Williams"}); {    "acknowledged" : true, ... 阅读更多

如何选择 MongoDB 文档,其中某个字段不存在、为 null 或为 false?

Anvi Jain
更新于 2019-07-30 22:30:25

345 次浏览

您可以为此使用 $in 运算符。让我们首先创建一个包含文档的集合。创建包含文档的集合的查询如下所示:-> db.selectMongoDBDocumentsWithSomeCondition.insertOne({"StudentId":1, "StudentName":"Larry"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c9010215705caea966c557f") } > db.selectMongoDBDocumentsWithSomeCondition.insertOne({"StudentId":2, "StudentName":"Mike", "hasAgeGreaterThanOrEqualTo18":true}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c90106a5705caea966c5580") } > db.selectMongoDBDocumentsWithSomeCondition.insertOne({"StudentId":3, "StudentName":"Carol", "hasAgeGreaterThanOrEqualTo18":false}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c9010795705caea966c5581") } > db.selectMongoDBDocumentsWithSomeCondition.insertOne({"StudentId":4, "StudentName":"Sam", "hasAgeGreaterThanOrEqualTo18":null}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c9010865705caea966c5582") } > db.selectMongoDBDocumentsWithSomeCondition.insertOne({"StudentId":5, "StudentName":"David", "hasAgeGreaterThanOrEqualTo18":false}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c9010945705caea966c5583") } > db.selectMongoDBDocumentsWithSomeCondition.insertOne({"StudentId":6, "StudentName":"Chris", ... 阅读更多

如何在 MongoDB 中打印无空格的 JSON,即不美化的 JSON?

Smita Kapse
更新于 2019-07-30 22:30:25

609 次浏览

要打印不美化的 json,请使用以下语法:var yourVariableName= db.yourCollectionName.find().sort({_id:-1}).limit(10000); while( yourVariableName.hasNext() ) {    printjsononeline(yourVariableName.next() ); };为了理解语法,让我们创建一个包含文档的集合。创建包含文档的集合的查询如下所示:-> db.unprettyJsonDemo.insertOne({"StudentName":"John", "StudentAge":21, "StudentTechnicalSkills":["C", "C++"]}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c900df25705caea966c557d") } > db.unprettyJsonDemo.insertOne({"StudentName":"Carol", "StudentAge":22, "StudentTechnicalSkills":["MongoDB", "MySQL"]}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c900e085705caea966c557e") }使用 find() 方法从集合中获取所有文档。查询如下所示:-> db.unprettyJsonDemo.find().pretty();以下是输出:{    "_id" : ObjectId("5c900df25705caea966c557d"),   ... 阅读更多

如何在 MongoDB 中获取某列的最大值?

Nishtha Thakur
更新于 2019-07-30 22:30:25

895 次浏览

要获取 MongoDB 中某列的最大值,您可以使用 sort() 以及 limit(1)。语法如下:db.yourCollectionName.find().sort({"yourFieldName":-1}).limit(1);为了理解上述语法,让我们创建一个包含文档的集合。创建包含文档的集合的查询如下所示:-> db.gettingHighestValueDemo.insertOne({"Value":1029}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c900b885705caea966c5574") } > db.gettingHighestValueDemo.insertOne({"Value":3029}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c900b8d5705caea966c5575") } > db.gettingHighestValueDemo.insertOne({"Value":1092}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c900b925705caea966c5576") } > db.gettingHighestValueDemo.insertOne({"Value":18484}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c900b955705caea966c5577") } > db.gettingHighestValueDemo.insertOne({"Value":37474}); {    "acknowledged" ... 阅读更多

如何在 MongoDB 中查询同一文档中的字段?

Anvi Jain
更新于 2019-07-30 22:30:25

138 次浏览

您可以为此使用 $where 运算符。为了理解这个概念,让我们创建一个包含文档的集合。创建包含文档的集合的查询如下所示:-> db.queryInSameDocumentsDemo.insertOne({"StudentDetails":{"StudentName":"John"}, "NewStudentDetails":{"StudentName":"Carol"}}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c90096ed3c9d04998abf017") } > db.queryInSameDocumentsDemo.insertOne({"StudentDetails":{"StudentName":"Bob"}, "NewStudentDetails":{"StudentName":"Bob"}}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c900a435705caea966c5573") }使用 find() 方法显示集合中的所有文档。查询如下所示:-> db.queryInSameDocumentsDemo.find().pretty();以下是输出:{    "_id" : ObjectId("5c90096ed3c9d04998abf017"),    "StudentDetails" : {       "StudentName" : "John"    },    "NewStudentDetails" : { ... 阅读更多

在 MongoDB 中,如何使用 $set 更新嵌套值/嵌入式文档?

Smita Kapse
更新于 2019-07-30 22:30:25

1K+ 次浏览

此处的语法如下:db.yourCollectionName.update({ }, { $set: { "yourOuterFieldName.yourInnerFieldName": "yourValue" } });为了理解语法,让我们创建一个包含文档的集合。创建包含文档的集合的查询如下所示:-> db.updateNestedValueDemo.insertOne({"CustomerName":"Chris",    ... "CustomerDetails":{"CustomerAge":25, "CustomerCompanyName":"Google", "CustomerCityName":"US"}}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c8fccc4d3c9d04998abf015") }使用 find() 方法显示集合中的所有文档。查询如下所示:-> db.updateNestedValueDemo.find().pretty();以下是输出:{    "_id" : ObjectId("5c8fccc4d3c9d04998abf015"),    "CustomerName" : "Chris",    "CustomerDetails" : {       "CustomerAge" : 25,       ... 阅读更多

如何在 MongoDB 中列出某个字段的所有值?

Nishtha Thakur
更新于 2019-07-30 22:30:25

1K+ 次浏览

要获取 MongoDB 中某个字段的所有值的列表,您可以使用 distinct()。语法如下:db.yourCollectionName.distinct( "yourFieldName");为了理解上述语法,让我们创建一个包含文档的集合。创建包含文档的集合的查询如下所示:-> db.listAllValuesOfCeratinFieldsDemo.insertOne({"ListOfValues":[10, 20, 30]}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c8fc89ed3c9d04998abf011") } > db.listAllValuesOfCeratinFieldsDemo.insertOne({"ListOfValues":[40, 50, 60]}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c8fc8abd3c9d04998abf012") } > db.listAllValuesOfCeratinFieldsDemo.insertOne({"ListOfValues":[10, 20, 30]}); {    "acknowledged" : true,    "insertedId" : ObjectId("5c8fc8d7d3c9d04998abf013") } > db.listAllValuesOfCeratinFieldsDemo.insertOne({"ListOfValues":[40, 50, 70]}); {    "acknowledged" : true,    "insertedId" ... 阅读更多

如何在 MongoDB 中创建嵌套索引?

Anvi Jain
更新于 2019-07-30 22:30:25

396 次浏览

在 MongoDB 中创建嵌套索引,可以使用 createIndex() 或 ensureIndex()。语法如下:
db.yourCollectionName.createIndex({"yourOuterFieldName.yourInnerFieldName.yourSecondInnerFieldName": 1});
为了理解语法,让我们创建一个包含文档的集合。创建包含文档的集合的查询如下:
> db.nestedIndexDemo.insertOne(
   ... {
      ...
      ... "CustomerId":101,
      ... "CustomerDetails":
      ... {
         ... "CustomerListDetails":
         ... {
            ... "CustomerName":"Larry",
            ... "CustomerProjectName": "Project-1",
          ... 阅读更多

如何在 MongoDB 中删除数组字段中的所有元素?

Smita Kapse
更新于 2019-07-30 22:30:25

1K+ 次浏览

您可以为此使用 $set 运算符。语法如下:
db.yourCollectionName.update({}, { $set : {"yourFieldName": [] }} , {multi:true} );
为了理解上述语法,让我们创建一个包含文档的集合。创建包含文档的集合的查询如下:
> db.deleteAllElementsInArrayDemo.insertOne({"InstructorName":"Larry", "InstructorTechnicalSubject":["Java", "MongoDB"]});
{    "acknowledged" : true,    "insertedId" : ObjectId("5c8fb971d3c9d04998abf00e") }
> db.deleteAllElementsInArrayDemo.insertOne({"InstructorName":"Mike", "InstructorTechnicalSubject":["C", "C++", "Python"]});
{    "acknowledged" : true,    "insertedId" : ObjectId("5c8fb98ad3c9d04998abf00f") }
使用 find() 方法显示集合中的所有文档。查询如下:
> db.deleteAllElementsInArrayDemo.find().pretty();
以下是输出:
{    "_id" ... 阅读更多

如何在 MongoDB 中排序?

Nishtha Thakur
更新于 2019-07-30 22:30:25

138 次浏览

要在 MongoDB 中排序,可以使用 sort() 方法。
案例 1 - 升序排序。语法如下:
db.yourCollectionName.find().sort({yourField:1});
案例 2 - 降序排序。语法如下:
db.yourCollectionName.find().sort({yourField:-1});
为了理解这个概念,让我们创建一个包含文档的集合。创建包含文档的集合的查询如下:
> db.sortingDemo.insertOne({"Value":100});
{    "acknowledged" : true,    "insertedId" : ObjectId("5c8f8e2ed3c9d04998abf006") }
> db.sortingDemo.insertOne({"Value":1});
{    "acknowledged" : true,    "insertedId" : ObjectId("5c8f8e31d3c9d04998abf007") }
> db.sortingDemo.insertOne({"Value":150});
{    "acknowledged" : true,    "insertedId" : ObjectId("5c8f8e34d3c9d04998abf008") }
> db.sortingDemo.insertOne({"Value":250});
{    "acknowledged" : true, ... 阅读更多

广告