找到 1660 篇文章 关于大数据分析

MongoDB 查询,排除 id 等于文档字段数组值的记录

AmitDiwan
更新于 2020年3月30日 08:50:22

707 次浏览

为此,使用 `$not` 和 `$in`。让我们创建一个包含以下文档的集合:
[
{
id: "101",
subjectid: [
"102"
]
},
{
id: "102",
subjectid: [
"102"
]
}
]以下是快照。使用 `find()` 方法显示集合中的所有文档:
db.collection.find()
这将产生以下输出:
[
{
"_id": ObjectId("5a934e000102030405000000"),
"id": "101",
"subjectid": [
"102"
]
},
{
"_id": ObjectId("5a934e000102030405000001"),
"id": "102",
"subjectid": [
"102"
]
}
]以下是使用 `$expr`、`$not` 和 `$in` 来获取排除匹配字段数组值的查询:
db.collection.find({
$expr: {
$not:{
$in: [
"$id",
"$subjectid"
]
}
}
})这将产生以下输出:
[
{
"_id": ObjectId("5a934e000102030405000000"),
"id": "101",
"subjectid": [
"102"
]
}
]

如何在 MongoDB 中匹配数组内的多个条件?

AmitDiwan
更新于 2020年3月30日 08:36:36

893 次浏览

要匹配数组内的多个条件,请使用 aggregate()。让我们创建一个包含以下文档的集合:-> db.demo84.insertOne({ ... "EmployeeDetails": [ ... {Name: 'John', Salary:45000, isMarried: true}, ... {Name: 'Chris', Salary:50000, isMarried: false} ... ] ... } ... ); { "acknowledged" : true, "insertedId" : ObjectId("5e2c0a3471bf0181ecc422a5") } > db.demo84.insertOne({ ... "EmployeeDetails": [ ... {Name: 'Sam', Salary:56000, isMarried: false}, ... {Name: 'Bob', Salary:50000, isMarried: false} ... ] ... } ... ); { "acknowledged" : true, ... 阅读更多

MongoDB 的“$and”运算符用于子集合以获取文档?

AmitDiwan
更新于 2020年3月30日 08:33:17

416 次浏览

要获取文档,请使用 `$in` 而不是 MongoDB 中的 `$and`。让我们首先创建一个包含以下文档的集合:-> db.demo83.insertOne( ... { ... "Details":[ ... { ... "Name":"Chris", ... "Subject":[ ... "MySQL", ... "MongoDB" ... ] ... }, ... { ... "Name":"David", ... "Subject":[ ... "Java", ... "C" ... ... 阅读更多

如何在 MongoDB 中创建一个唯一字段?

AmitDiwan
更新于 2020年3月30日 08:28:03

994 次浏览

要在 MongoDB 中创建一个唯一字段,请使用 unique - true。让我们创建一个包含以下文档的集合:-> db.demo82.createIndex({"EmployeeName":1}, {unique:true}); { "createdCollectionAutomatically" : true, "numIndexesBefore" : 1, "numIndexesAfter" : 2, "ok" : 1 } > db.demo82.insertOne({"EmployeeName":"Chris"}); { "acknowledged" : true, "insertedId" : ObjectId("5e2bfb1b71bf0181ecc422a0") } > db.demo82.insertOne({"EmployeeName":"David"}); { "acknowledged" : true, "insertedId" : ObjectId("5e2bfb1f71bf0181ecc422a1") } > db.demo82.insertOne({"EmployeeName":"Chris"}); 2020-01-25T13:54:00.410+0530 E QUERY [js] WriteError: E11000 duplicate key error collection: test.demo82 index: EmployeeName_1 dup key: { : "Chris" } : WriteError({ "index" : 0, "code" : 11000, "errmsg" : "E11000 duplicate key ... 阅读更多

在 MongoDB 中查找子文档中的特定项?

AmitDiwan
更新于 2020年3月30日 08:25:06

112 次浏览

要获取子文档中的特定项,请使用点 (.) 表示法。让我们创建一个包含以下文档的集合:-> db.demo81.insertOne({"StudentDetails":[{"StudentName":"Carol", "StudentSubject":"Java"}, { "StudentName" : "David", "StudentSubject" : "MongoDB" }]}); { "acknowledged" : true, "insertedId" : ObjectId("5e2bf6ec71bf0181ecc4229d") } > db.demo81.insertOne({"StudentDetails":[{"StudentName":"Mike", "StudentSubject":"Python"}, { "StudentName" : "David", "StudentSubject" : "C" }]}); { "acknowledged" : true, "insertedId" : ObjectId("5e2bf70471bf0181ecc4229e") } > db.demo81.insertOne({"StudentDetails":[{"StudentName":"Jace", "StudentSubject":"C++"}, { "StudentName" : "John", "StudentSubject" : "MySQL" }]}); { "acknowledged" : true, "insertedId" : ObjectId("5e2bf72071bf0181ecc4229f") }显示使用 find() 方法显示集合中的所有文档:-> db.demo81.find();这将产生以下... 阅读更多

MongoDB 查询以计算平均值

AmitDiwan
更新于 2020年3月30日 08:21:23

421 次浏览

要在 MongoDB 中计算平均值,请使用 `$avg`。让我们创建一个包含以下文档的集合:-> db.demo80.insertOne({"Details":{"Price":10.5}}); { "acknowledged" : true, "insertedId" : ObjectId("5e2bf43271bf0181ecc42297") } > db.demo80.insertOne({"Details":{"Price":50.3}}); { "acknowledged" : true, "insertedId" : ObjectId("5e2bf43871bf0181ecc42298") } > db.demo80.insertOne({"Details":{"Price":100.10}}); { "acknowledged" : true, "insertedId" : ObjectId("5e2bf43f71bf0181ecc42299") }显示使用 find() 方法显示集合中的所有文档:-> db.demo80.find();这将产生以下输出:{ "_id" : ObjectId("5e2bf43271bf0181ecc42297"), "Details" : { "Price" : 10.5 } } { "_id" : ObjectId("5e2bf43871bf0181ecc42298"), "Details" : { "Price" : 50.3 } } { "_id" : ObjectId("5e2bf43f71bf0181ecc42299"), "Details" : { "Price" : ... 阅读更多

MongoDB 查询在 find() 中实现 OR 运算符

AmitDiwan
更新于 2020年3月30日 08:15:43

83 次浏览

让我们创建一个包含以下文档的集合:-> db.demo78.insertOne({"Name1":"Chris", "Name2":"Mike"}); { "acknowledged" : true, "insertedId" : ObjectId("5e2bd99c71bf0181ecc4228f") } > db.demo78.insertOne({"Name1":"Bob", "Name2":"Carol"}); { "acknowledged" : true, "insertedId" : ObjectId("5e2bd9ac71bf0181ecc42290") } > db.demo78.insertOne({"Name1":"David", "Name2":"Sam"}); { "acknowledged" : true, "insertedId" : ObjectId("5e2bd9b671bf0181ecc42291") } > db.demo78.insertOne({"Name1":"Jace", "Name2":"John"}); { "acknowledged" : true, "insertedId" : ObjectId("5e2bd9bf71bf0181ecc42292") }显示使用 find() 方法显示集合中的所有文档:-> db.demo78.find();这将产生以下输出:{ "_id" : ObjectId("5e2bd99c71bf0181ecc4228f"), "Name1" : "Chris", "Name2" : "Mike" } { "_id" : ObjectId("5e2bd9ac71bf0181ecc42290"), "Name1" : "Bob", "Name2" : "Carol" } { ... 阅读更多

如何更新 MongoDB 对象?

AmitDiwan
更新于 2020年3月30日 08:12:20

283 次浏览

要更新 MongoDB 对象,请使用 UPDATE()。让我们创建一个包含以下文档的集合:-> db.demo77.insertOne({"Details" : { "Score" : 78 } }); { "acknowledged" : true, "insertedId" : ObjectId("5e2bd6f371bf0181ecc4228a") }显示使用 find() 方法显示集合中的所有文档:-> db.demo77.find();这将产生以下输出:{ "_id" : ObjectId("5e2bd6f371bf0181ecc4228a"), "Details" : { "Score" : 78 } }以下是更新 MongoDB 对象的查询:-> db.demo77.update({'Details.Score':78}, {$set:{'Details.Score':89}}, {multi:true}); WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })显示使用 find() 方法显示集合中的所有文档:-> db.demo77.find();这将产生... 阅读更多

使用 MongoDB 的多级 $group

AmitDiwan
更新于 2020年3月30日 08:07:44

319 次浏览

要实现多级 `$group`,请使用 MongoDB 聚合。让我们创建一个包含以下文档的集合:-> db.demo76.insertOne({ Name:"Chris", "Age" : 21, "CountryName" : 'US' }); { "acknowledged" : true, "insertedId" : ObjectId("5e2bd3e571bf0181ecc42281") } > db.demo76.insertOne({ Name:"Chris", "Age" : 21, "CountryName" : 'US' }); { "acknowledged" : true, "insertedId" : ObjectId("5e2bd3e571bf0181ecc42282") } > db.demo76.insertOne({ Name:"Chris", "Age" : 23, "CountryName" : 'UK' }); { "acknowledged" : true, "insertedId" : ObjectId("5e2bd3e571bf0181ecc42283") } > db.demo76.insertOne({ Name:"Chris", "Age" : 23, "CountryName" : 'UK' }); { "acknowledged" : true, "insertedId" : ObjectId("5e2bd3e571bf0181ecc42284") } > db.demo76.insertOne({ Name:"Chris", "Age" : 21, ... 阅读更多

MongoDB 查询仅获取特定数量的元素

AmitDiwan
更新于 2020年3月30日 08:04:40

188 次浏览

要仅返回特定数量的元素,可以使用 aggregate() 和 $slice。让我们创建一个包含文档的集合 −> db.demo75.insertOne({"Name":["Sam", "Mike", "Carol", "David", "Bob", "John"]}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e2bcd7671bf0181ecc42278") }使用 find() 方法显示集合中的所有文档 −> db.demo75.find();这将产生以下输出 −{ "_id" : ObjectId("5e2bcd7671bf0181ecc42278"), "Name" : [ "Sam", "Mike", "Carol", "David", "Bob", "John" ] }以下是 MongoDB 中的切片查询 −> db.demo75.aggregate([ { $project: { Name: { $slice: [ "$Name", 4 ] } } } ]);这将产生以下输出 −{ "_id" : ObjectId("5e2bcd7671bf0181ecc42278"), ... 阅读更多

广告