Hướng dẫn mongodb compare two fields not equal - mongodb so sánh hai trường không bằng nhau

Cảm ơn tất cả đã giải quyết vấn đề của tôi - liên quan đến các câu trả lời sử dụng tổng hợp (), một điều khiến tôi bối rối là $ EQ (hoặc $ trong hoặc nhiều nhà khai thác khác) có ý nghĩa khác nhau tùy thuộc vào nơi được sử dụng. Trong Find () hoặc Giai đoạn kết hợp $ Match, $ EQ lấy một giá trị duy nhất và chọn các tài liệu phù hợp:

db.items.aggregate([{$match: {_id: {$eq: ObjectId("5be5feb45da16064c88e23d4")}}}])

Tuy nhiên, trong giai đoạn tổng hợp $ Project, $ EQ có một mảng gồm 2 biểu thức và tạo ra một trường mới có giá trị đúng hoặc sai:

db.items.aggregate([{$project: {new_field: {$eq: ["$_id", "$foreignID"]}}}])

Để vượt qua, đây là truy vấn tôi đã sử dụng trong dự án của mình để tìm tất cả các mục có danh sách các mục được liên kết (do lỗi) được liên kết với chính họ:

db.items.aggregate([{$project: {idIn: {$in: ["$_id","$header.links"]}, "header.links": 1}}, {$match: {idIn: true}}])

Trong hướng dẫn này & nbsp; MongoDB, chúng tôi sẽ thảo luận & nbsp; làm thế nào để so sánh hai trường trong MongoDB. Chúng tôi sẽ đề cập đến chủ đề này với các hoạt động và ví dụ khác nhau. Đây là những chủ đề sau đây mà chúng tôi sẽ trình bày trong hướng dẫn này:how to compare two fields in MongoDB. We will cover this topic with different operations and examples. These are the following topics that we are going to cover in this tutorial:

  • MongoDB so sánh hai trường truy vấn
  • MongoDB so sánh hai trường bằng nhau
  • MongoDB so sánh hai trường không bằng
  • MongoDB so sánh hai trường trong cùng một tài liệu
  • MongoDB so sánh hai lĩnh vực bằng cách sử dụng Python

Tôi đang có hơn 15 năm kinh nghiệm trong ngành công nghiệp phần mềm. & NBSP; Trong thời gian này, tôi đã làm việc trên Mariadb và sử dụng nó trong rất nhiều dự án. Hầu hết các độc giả của chúng tôi đến từ Hoa Kỳ, Canada, Vương quốc Anh, Úc, New Zealand, v.v.$where query operator is used for comparing the fields or documents that satisfy a JavaScript expression.

Bạn muốn học Mariadb? Kiểm tra tất cả các bài báo và hướng dẫn mà tôi đã viết trên Mariadb. Ngoài ra, tôi là một MVP của Microsoft.

Không bằng với mongoDB? $where provides higher flexibility, but requires that the database processes the JavaScript expression or function for each document in the collection. The documents in the JavaScript expression or function using either this or obj.

Syntax:

{ $where:  }

Trong MongoDB, toán tử $ NE biểu thị cho toán tử không bình đẳng. Đây là một trong những nhà khai thác so sánh trong MongoDB. Nó được sử dụng để phù hợp với các tài liệu có giá trị trường không bằng giá trị được chỉ định bởi toán tử $ ne.$where query operator top-level documents. The $where query operator will not work inside the nested documents.

Làm thế nào để bạn viết một truy vấn không bằng nhau trong MongoDB?

MongoDB so sánh hai trường bằng nhau

Bạn có thể sử dụng toán tử $ ne (viết tắt của không phải là bằng nhau) trong MongoDB để truy vấn cho các tài liệu trong đó trường không bằng một giá trị nhất định. Ví dụ cụ thể này tìm thấy tất cả các tài liệu trong bộ sưu tập có tiêu đề MyCollection trong đó trường nhóm không bằng với Mavs. $where query operator to compare two fields equal (string) with the help of an example. So, let us understand with the help of an example.

Example:

Làm cách nào để so sánh hai tài liệu trong MongoDB?info collection.

db.info.insertMany([
{
   "_id": 1,
   "FullName": {
      "FirstName": "John",
      "LastName": "Smith"
   },
   "BranchName": "ComputerScience"
},
{
   "_id": 2,
   "FullName": {
      "FirstName": "Smith",
      "LastName": "Smith"
   },
   "BranchName": "Civil"
},
{
   "_id": 3,
   "FullName": {
      "FirstName": "David",
      "LastName": "Smith"
   },
   "BranchName": "Mechanical"
}
])

Hướng dẫn mongodb compare two fields not equal - mongodb so sánh hai trường không bằng nhau
MongoDB so sánh hai trường truy vấn

Giả sử JavaScript bạn có thể sử dụng json.Stringify () để so sánh 2 đối tượng. Với Java, bạn có thể sử dụng tojson () và thực hiện so sánh tương tự.

db.info.find(
    { $where: "this.FullName.FirstName == this.FullName.LastName" }
).pretty()

Có $ trong MongoDB không?FirstName and LastName using $where operator and the find() method will retrieve all those documents that satisfy the condition.

Hướng dẫn mongodb compare two fields not equal - mongodb so sánh hai trường không bằng nhau
Có hai cách để thực hiện một hoặc truy vấn trong MongoDB. "$ in" có thể được sử dụng để truy vấn cho nhiều giá trị khác nhau cho một khóa duy nhất. "$ hoặc" là chung chung hơn; Nó có thể được sử dụng để truy vấn cho bất kỳ giá trị đã cho trên nhiều khóa.

Trong hướng dẫn này & nbsp; MongoDB, chúng tôi sẽ thảo luận & nbsp; làm thế nào để so sánh hai trường trong MongoDB. Chúng tôi sẽ đề cập đến chủ đề này với các hoạt động và ví dụ khác nhau. Đây là những chủ đề sau đây mà chúng tôi sẽ trình bày trong hướng dẫn này:

Trong MongoDB, $ nơi toán tử truy vấn được sử dụng để so sánh các trường hoặc tài liệu đáp ứng biểu thức JavaScript.

MongoDB so sánh hai trường không bằng

MongoDB so sánh hai trường trong cùng một tài liệu

Example:

MongoDB so sánh hai lĩnh vực bằng cách sử dụng Pythoninfo that we have used in the previous topic. For reference:

Hướng dẫn mongodb compare two fields not equal - mongodb so sánh hai trường không bằng nhau
MongoDB so sánh hai trường truy vấn

Tôi đang có hơn 15 năm kinh nghiệm trong ngành công nghiệp phần mềm. & NBSP; Trong thời gian này, tôi đã làm việc trên Mariadb và sử dụng nó trong rất nhiều dự án. Hầu hết các độc giả của chúng tôi đến từ Hoa Kỳ, Canada, Vương quốc Anh, Úc, New Zealand, v.v.

db.info.find(     
   { $where: "this.FullName.FirstName != this.FullName.LastName"} ).pretty()

Bạn muốn học Mariadb? Kiểm tra tất cả các bài báo và hướng dẫn mà tôi đã viết trên Mariadb. Ngoài ra, tôi là một MVP của Microsoft.$where query operator to compare two fields FirstName and LastName and use the not equal ” != “ operator to retrieve those documents that are not equal.

Hướng dẫn mongodb compare two fields not equal - mongodb so sánh hai trường không bằng nhau
MongoDB so sánh hai trường không bằng

MongoDB so sánh hai trường trong cùng một tài liệu

MongoDB so sánh hai lĩnh vực bằng cách sử dụng Python

MongoDB so sánh hai trường trong cùng một tài liệu

MongoDB so sánh hai lĩnh vực bằng cách sử dụng Python$where operator to compare the fields.

Tôi đang có hơn 15 năm kinh nghiệm trong ngành công nghiệp phần mềm. & NBSP; Trong thời gian này, tôi đã làm việc trên Mariadb và sử dụng nó trong rất nhiều dự án. Hầu hết các độc giả của chúng tôi đến từ Hoa Kỳ, Canada, Vương quốc Anh, Úc, New Zealand, v.v.

Example:

Các tài liệu sau đây đã được chèn vào bộ sưu tập thử nghiệm.Test collection.

db.Test.insertMany([
{ "_id": 101, "Name": "Peter", "Scores": [ 56, 78 ], "City": "USA" },
{ "_id": 102, "Name": "Jack", "Scores": [ 88, 45 ], "City": "Canada" },
{ "_id": 103, "Name": "Jonas", "Scores": [ 98, 79 ], "City": "UK" }
])

Bây giờ, chúng tôi sẽ áp dụng truy vấn dưới đây để so sánh hai trường trong cùng một tài liệu.

db.Test.find({ $where : "this.Scores[0] > this.Scores[1]" })

Ở đây, chúng tôi đã áp dụng $ trong đó toán tử truy vấn và so sánh các chỉ mục của trường Điểm số. Phương thức Find () sẽ tìm thấy những tài liệu trong đó giá trị đầu tiên lớn hơn mẫu thứ hai.$where query operator and compare the Scores field indexes values. The find() method will find those documents where the first value is greater than the second.

Hướng dẫn mongodb compare two fields not equal - mongodb so sánh hai trường không bằng nhau
MongoDB so sánh hai trường trong cùng một tài liệu

Chúng tôi đã truy xuất thành công các tài liệu trong đó điểm số của một là lớn hơn thứ hai.

Đọc MongoDB tắt máy với mã 48

MongoDB so sánh hai lĩnh vực bằng cách sử dụng Python

Trong chủ đề này, bạn sẽ học cách so sánh hai trường trong MongoDB bằng Python. Chúng ta có thể sử dụng $ nơi toán tử truy vấn để tìm các tài liệu sau khi so sánh hai trường. Hãy cho chúng tôi hiểu với sự giúp đỡ của một ví dụ.$where query operator to find the documents after comparing the two fields. Let us understand with the help of an example.

Example:

Trong mã sau, chúng tôi đã nhập thư viện pymongo để sử dụng MongoDB trong Python và sau đó sử dụng lớp Mongoclient để kết nối với máy chủ MongoDB. pymongo library to use MongoDB in python and After that use the MongoClient class to connect with the MongoDB server.

Ở đây, chúng tôi cũng đã tạo ra một bản demo cơ sở dữ liệu mới và chèn một số tài liệu vào bộ sưu tập thông tin. Và, chúng tôi đã sử dụng hàm find () để truy xuất các tài liệu và trong tham số, $ nơi toán tử truy vấn được sử dụng để so sánh hai trường.demo and inserted some documents into the Info collection. And, we have used the find() function to retrieve the documents and in the parameter, the $where query operator is used to compare two fields.

import pymongo

# creating a MongoClient object and connect with the host
myclient = pymongo.MongoClient("mongodb://127.0.0.1:27017")

# accessing the database
mydb = myclient["demo"]

# accessing the collection of the database
mycol = mydb["Info"]
docs = [{ "_id": 101, "Name": "Peter", "Scores": [ 56, 78 ] },
        { "_id": 102, "Name": "Jack", "Scores": [ 88, 45 ] },
        { "_id": 103, "Name": "Jonas", "Scores": [ 98, 79 ] }]
mycol.insert_many(docs)

# compare the field of same documents 
result = mycol.find({ "$where" : "this.Scores[0] < this.Scores[1]" })
for compare_fields in result:
    print(compare_fields)

Xem việc thực thi mã với đầu ra:

Hướng dẫn mongodb compare two fields not equal - mongodb so sánh hai trường không bằng nhau
MongoDB so sánh hai lĩnh vực bằng cách sử dụng Python

Trong chủ đề này, bạn sẽ học cách so sánh hai trường trong MongoDB bằng Python. Chúng ta có thể sử dụng $ nơi toán tử truy vấn để tìm các tài liệu sau khi so sánh hai trường. Hãy cho chúng tôi hiểu với sự giúp đỡ của một ví dụ.

Trong mã sau, chúng tôi đã nhập thư viện pymongo để sử dụng MongoDB trong Python và sau đó sử dụng lớp Mongoclient để kết nối với máy chủ MongoDB.

  • Ở đây, chúng tôi cũng đã tạo ra một bản demo cơ sở dữ liệu mới và chèn một số tài liệu vào bộ sưu tập thông tin. Và, chúng tôi đã sử dụng hàm find () để truy xuất các tài liệu và trong tham số, $ nơi toán tử truy vấn được sử dụng để so sánh hai trường.
  • Xem việc thực thi mã với đầu ra:
  • Chúng tôi đã tìm thấy thành công các tài liệu sau khi so sánh hai trường bằng Python.
  • Bạn có thể thích các hướng dẫn MongoDB sau:
  • MongoDB Tạo và thay đổi mật khẩu người dùng
  • MongoDB tìm nhiều điều kiện
  • Cách xóa tài liệu trong MongoDB
  • MongoDB Tìm bởi ID

Hiển thị dữ liệu MongoDB trong HTML“Compare two fields in MongoDB” with different operations and examples. And we have also covered the following list of topics:

  • MongoDB Cập nhật tài liệu
  • Không thể định vị gói MongoDB-org
  • MongoDB loại bỏ một phần tử khỏi mảng
  • Vì vậy, trong hướng dẫn này, bạn đã học & nbsp; về & nbsp; so sánh hai trường trong MongoDB, & nbsp; với các hoạt động và ví dụ khác nhau. Và chúng tôi cũng đã đề cập đến danh sách các chủ đề sau:
  • MongoDB so sánh hai lĩnh vực bằng cách sử dụng Python

Trong chủ đề này, bạn sẽ học cách so sánh hai trường trong MongoDB bằng Python. Chúng ta có thể sử dụng $ nơi toán tử truy vấn để tìm các tài liệu sau khi so sánh hai trường. Hãy cho chúng tôi hiểu với sự giúp đỡ của một ví dụ.

Trong mã sau, chúng tôi đã nhập thư viện pymongo để sử dụng MongoDB trong Python và sau đó sử dụng lớp Mongoclient để kết nối với máy chủ MongoDB.

Không bằng với mongoDB?

Trong MongoDB, toán tử $ NE biểu thị cho toán tử không bình đẳng.Đây là một trong những nhà khai thác so sánh trong MongoDB.Nó được sử dụng để phù hợp với các tài liệu có giá trị trường không bằng giá trị được chỉ định bởi toán tử $ ne.$ne operator signifies the not-equal operator. It is one of the comparison operators in MongoDB. It is used to match the documents whose field value is not equal to the one specified by the $ne operator.

Làm thế nào để bạn viết một truy vấn không bằng nhau trong MongoDB?

Bạn có thể sử dụng toán tử $ ne (viết tắt của không phải là bằng nhau) trong MongoDB để truy vấn cho các tài liệu trong đó trường không bằng một giá trị nhất định.Ví dụ cụ thể này tìm thấy tất cả các tài liệu trong bộ sưu tập có tiêu đề MyCollection trong đó trường nhóm không bằng với Mavs.$ne operator (which stands for “not equal”) in MongoDB to query for documents where a field is not equal to a certain value. This particular example finds all documents in the collection titled myCollection where the team field is not equal to “Mavs.”

Làm cách nào để so sánh hai tài liệu trong MongoDB?

Giả sử JavaScript bạn có thể sử dụng json.Stringify () để so sánh 2 đối tượng.Với Java, bạn có thể sử dụng tojson () và thực hiện so sánh tương tự.use JSON. stringify() to compare 2 objects. With Java, you could use toJson() and do the same comparison.

Có $ trong MongoDB không?

Có hai cách để thực hiện một hoặc truy vấn trong MongoDB."$ in" có thể được sử dụng để truy vấn cho nhiều giá trị khác nhau cho một khóa duy nhất."$ hoặc" là chung chung hơn;Nó có thể được sử dụng để truy vấn cho bất kỳ giá trị đã cho trên nhiều khóa."$in" can be used to query for a variety of values for a single key. "$or" is more general; it can be used to query for any of the given values across multiple keys.