Hướng dẫn how do i compare two documents in mongodb? - làm cách nào để so sánh hai tài liệu trong mongodb?

Tài liệu về nhà → Hướng dẫn sử dụng MongoDBMongoDB Manual

$cmpComparing hai giá trị và trả về:

Compares two values and returns:

  • -1 Nếu giá trị đầu tiên nhỏ hơn thứ hai.

  • 1 nếu giá trị thứ nhất lớn hơn thứ hai.

  • 0 Nếu hai giá trị tương đương.

$cmp so sánh cả giá trị và loại, sử dụng thứ tự so sánh BSON được chỉ định cho các giá trị của các loại khác nhau.$cmp compares both value and type, using the specified BSON comparison order for values of different types.

$cmp có cú pháp sau: has the following syntax:

{ $cmp: [ , ] }

Để biết thêm thông tin về biểu thức, xem biểu thức.

Xem xét bộ sưu tập

{ "_id" : 1, "item" : "abc1", description: "product 1", qty: 300 }
{ "_id" : 2, "item" : "abc2", description: "product 2", qty: 200 }
{ "_id" : 3, "item" : "xyz1", description: "product 3", qty: 250 }
{ "_id" : 4, "item" : "VWZ1", description: "product 4", qty: 300 }
{ "_id" : 5, "item" : "VWZ2", description: "product 5", qty: 180 }
2 với các tài liệu sau:

{ "_id" : 1, "item" : "abc1", description: "product 1", qty: 300 }
{ "_id" : 2, "item" : "abc2", description: "product 2", qty: 200 }
{ "_id" : 3, "item" : "xyz1", description: "product 3", qty: 250 }
{ "_id" : 4, "item" : "VWZ1", description: "product 4", qty: 300 }
{ "_id" : 5, "item" : "VWZ2", description: "product 5", qty: 180 }

Hoạt động sau sử dụng toán tử $cmp để so sánh giá trị

{ "_id" : 1, "item" : "abc1", description: "product 1", qty: 300 }
{ "_id" : 2, "item" : "abc2", description: "product 2", qty: 200 }
{ "_id" : 3, "item" : "xyz1", description: "product 3", qty: 250 }
{ "_id" : 4, "item" : "VWZ1", description: "product 4", qty: 300 }
{ "_id" : 5, "item" : "VWZ2", description: "product 5", qty: 180 }
4 với
{ "_id" : 1, "item" : "abc1", description: "product 1", qty: 300 }
{ "_id" : 2, "item" : "abc2", description: "product 2", qty: 200 }
{ "_id" : 3, "item" : "xyz1", description: "product 3", qty: 250 }
{ "_id" : 4, "item" : "VWZ1", description: "product 4", qty: 300 }
{ "_id" : 5, "item" : "VWZ2", description: "product 5", qty: 180 }
5:$cmp operator to compare the
{ "_id" : 1, "item" : "abc1", description: "product 1", qty: 300 }
{ "_id" : 2, "item" : "abc2", description: "product 2", qty: 200 }
{ "_id" : 3, "item" : "xyz1", description: "product 3", qty: 250 }
{ "_id" : 4, "item" : "VWZ1", description: "product 4", qty: 300 }
{ "_id" : 5, "item" : "VWZ2", description: "product 5", qty: 180 }
4 value with
{ "_id" : 1, "item" : "abc1", description: "product 1", qty: 300 }
{ "_id" : 2, "item" : "abc2", description: "product 2", qty: 200 }
{ "_id" : 3, "item" : "xyz1", description: "product 3", qty: 250 }
{ "_id" : 4, "item" : "VWZ1", description: "product 4", qty: 300 }
{ "_id" : 5, "item" : "VWZ2", description: "product 5", qty: 180 }
5:

db.inventory.aggregate(
[
{
$project:
{
item: 1,
qty: 1,
cmpTo250: { $cmp: [ "$qty", 250 ] },
_id: 0
}
}
]
)

Hoạt động trả về các kết quả sau:

{ "item" : "abc1", "qty" : 300, "cmpTo250" : 1 }
{ "item" : "abc2", "qty" : 200, "cmpTo250" : -1 }
{ "item" : "xyz1", "qty" : 250, "cmpTo250" : 0 }
{ "item" : "VWZ1", "qty" : 300, "cmpTo250" : 1 }
{ "item" : "VWZ2", "qty" : 180, "cmpTo250" : -1 }

Ví dụ tôi có bộ sưu tập này:

Posts = new Mongo.Collection('posts');

Posts.insert({
  name: "One",
  age: 25,
  ...etc.
});


Posts.insert({
  name: "Two",
  age: 29,
  ...etc.
});

Và làm thế nào tôi có thể so sánh tài liệu chèn đầu tiên của tôi với cái thứ hai ??first insert document with the second ??

Tôi cố gắng tìm kiếm về nó nhưng tất cả những gì tôi có thể tìm thấy là "Cách so sánh các trường" không phải tất cả tài liệuHow to compare fields" not all document

CỘNG :

Làm thế nào để có được sự thật nếu bộ sưu tập của tôi (bài viết) chứa tài liệu chèn đầu tiên của tôi, có hoặc không có

{ "_id" : 1, "item" : "abc1", description: "product 1", qty: 300 }
{ "_id" : 2, "item" : "abc2", description: "product 2", qty: 200 }
{ "_id" : 3, "item" : "xyz1", description: "product 3", qty: 250 }
{ "_id" : 4, "item" : "VWZ1", description: "product 4", qty: 300 }
{ "_id" : 5, "item" : "VWZ2", description: "product 5", qty: 180 }
6?true if my collection (Posts) contains my first insert document, with or without
{ "_id" : 1, "item" : "abc1", description: "product 1", qty: 300 }
{ "_id" : 2, "item" : "abc2", description: "product 2", qty: 200 }
{ "_id" : 3, "item" : "xyz1", description: "product 3", qty: 250 }
{ "_id" : 4, "item" : "VWZ1", description: "product 4", qty: 300 }
{ "_id" : 5, "item" : "VWZ2", description: "product 5", qty: 180 }
6 ?

Posts.insert({
  name: "One",
  age: 25,
  ...etc.
});

WDB

unread,

27 tháng 7 năm 2012, 3:16:59 AM7/27/227/27/12

đến

Để xác định xem hai tài liệu trong bộ sưu tập có giống hệt nhau không (ngoại trừ dữ liệu chính), tôi có thể truy vấn cho tài liệu đầu tiên, phân tích kết quả vào một truy vấn khác, sau đó thực hiện điều đó. Tự hỏi nếu có một ý tưởng tốt hơn, bóng mượt. Cảm ơn.

Jenna

unread,

27 tháng 7 năm 2012, 4:38:09 AM7/27/227/27/12

đến MongoDB-user

Mục tiêu của so sánh tài liệu là gì và bạn sẽ cần bao nhiêu so sánh tại bất kỳ thời điểm nào? Ngoài ra, truy vấn của bạn cho tài liệu đầu tiên- sử dụng một trường duy nhất, chẳng hạn như _ID?
you need to make at any given time? In addition, how are your querying
for the first document- using a single field, such as the _id?

Tôi không chắc có cách nào tốt hơn không, nhưng thông tin bổ sung về mô hình dữ liệu và truy vấn của bạn có thể giúp truyền cảm hứng cho các giải pháp sáng tạo.
your data model and queries may help to inspire creative solutions.

Vào ngày 26 tháng 7, 1: 16 & nbsp; PM, WDB đã viết:
wrote:

WDB

unread,

27 tháng 7 năm 2012, 3:16:59 AM7/27/227/27/12

đến

Để xác định xem hai tài liệu trong bộ sưu tập có giống hệt nhau không (ngoại trừ dữ liệu chính), tôi có thể truy vấn cho tài liệu đầu tiên, phân tích kết quả vào một truy vấn khác, sau đó thực hiện điều đó. Tự hỏi nếu có một ý tưởng tốt hơn, bóng mượt. Cảm ơn.

Jenna

27 tháng 7 năm 2012, 4:38:09 AM7/27/22

đến MongoDB-user

Mục tiêu của so sánh tài liệu là gì và bạn sẽ cần bao nhiêu so sánh tại bất kỳ thời điểm nào? Ngoài ra, truy vấn của bạn cho tài liệu đầu tiên- sử dụng một trường duy nhất, chẳng hạn như _ID?

unread,

Tôi không chắc có cách nào tốt hơn không, nhưng thông tin bổ sung về mô hình dữ liệu và truy vấn của bạn có thể giúp truyền cảm hứng cho các giải pháp sáng tạo.7/27/12

đến

Để xác định xem hai tài liệu trong bộ sưu tập có giống hệt nhau không (ngoại trừ dữ liệu chính), tôi có thể truy vấn cho tài liệu đầu tiên, phân tích kết quả vào một truy vấn khác, sau đó thực hiện điều đó. Tự hỏi nếu có một ý tưởng tốt hơn, bóng mượt. Cảm ơn.version or hash sum to all documents in this collections and compare those by querying both and comparing on client?

Jenna

27 tháng 7 năm 2012, 4:38:09 AM7/27/22

unread,

đến MongoDB-user7/27/12

đến

Để xác định xem hai tài liệu trong bộ sưu tập có giống hệt nhau không (ngoại trừ dữ liệu chính), tôi có thể truy vấn cho tài liệu đầu tiên, phân tích kết quả vào một truy vấn khác, sau đó thực hiện điều đó. Tự hỏi nếu có một ý tưởng tốt hơn, bóng mượt. Cảm ơn.

Jenna


27 tháng 7 năm 2012, 4:38:09 AM7/27/22

unread,

đến MongoDB-user7/28/12

đến

Để xác định xem hai tài liệu trong bộ sưu tập có giống hệt nhau không (ngoại trừ dữ liệu chính), tôi có thể truy vấn cho tài liệu đầu tiên, phân tích kết quả vào một truy vấn khác, sau đó thực hiện điều đó. Tự hỏi nếu có một ý tưởng tốt hơn, bóng mượt. Cảm ơn.

Jenna
compare collections instead of comparing documents,
and the solution that i put into use is to compare using javascript.

27 tháng 7 năm 2012, 4:38:09 AM7/27/22
http://stackoverflow.com/questions/1068834/object-comparison-in-javascript
http://stackoverflow.com/questions/9240636/how-to-compare-2-mongodb-collections

đến MongoDB-user
you dont mind to share, since it could be helpful to find the mongodb
equivalents for it ..

Hy vọng điều đó sẽ giúp!

- Đừng theo đuổi quá khứ. Đừng đánh mất chính mình trong tương lai. Quá khứ không còn là. Tương lai vẫn chưa đến. Nhìn sâu vào cuộc sống như ở đây và bây giờ, người hành nghề sống trong sự ổn định và tự do. (Thich NHat Hũi)
Do not pursue the past. Do not lose yourself in the future.
The past no longer is. The future has not yet come.
Looking deeply at life as it is in the very here and now,
the practitioner dwells in stability and freedom.
(Thich Nhat Hanh)

Nilesh Gupta

unread,

Ngày 17 tháng 6 năm 2016, 6:35:49 AM6/17/166/17/16

đến người dùng mongDB,

Chào Albert,

Tôi đang tìm cách so sánh hai bộ sưu tập để tìm ra nếu có bất kỳ thay đổi nào trong tài liệu để xử lý thêm, nó sẽ hoạt động với cách mà bạn & NBSP;

Làm cách nào để so sánh hai cơ sở dữ liệu MongoDB?

So sánh các bộ sưu tập trong hai cơ sở dữ liệu khác nhau (nguồn và đích, cơ sở dữ liệu có thể nằm trên cùng hoặc trên các máy chủ khác nhau) chọn các bộ sưu tập để so sánh. Phân tích từng tài liệu và cho biết nếu nó đã được thêm, xóa hoặc cập nhật trong các bộ sưu tập nguồn. Đồng bộ hóa các thay đổi thành các bộ sưu tập đích.select the collections to compare. analyze each document and tell if it has been added, removed or updated in source collections. synchronize the changes into destination collections.

Làm cách nào để so sánh hai đối tượng trong MongoDB?

Bạn có thể thử sử dụng toán tử $ giảm để trả về boolean dựa trên sự so sánh ...
$ Filter để lọc tên: "A" từ khách hàng ..
$ Arrayelemat để nhận phần tử đầu tiên từ kết quả được lọc từ bước trên ..
Các bước tương tự như ở trên cho tên: "B".
$ Hãy khai báo các biến cho "A" trong A và "B" trong B ..

Làm thế nào tôi có thể so sánh hai bài báo?

Mở một trong hai phiên bản của tài liệu mà bạn muốn so sánh.Trên menu Công cụ, chỉ để theo dõi các thay đổi, sau đó nhấp vào So sánh tài liệu.Trong danh sách tài liệu gốc, chọn tài liệu gốc.Trong danh sách tài liệu sửa đổi, duyệt đến phiên bản khác của tài liệu, sau đó bấm OK.On the Tools menu, point to Track Changes, and then click Compare Documents. In the Original document list, select the original document. In the Revised document list, browse to the other version of the document, and then click OK.

Làm thế nào để tôi tham khảo các tài liệu khác trong MongoDB?

Các ứng dụng MongoDB sử dụng một trong hai phương thức để liên kết các tài liệu: Tài liệu tham khảo thủ công Lưu trường _ID của một tài liệu trong một tài liệu khác làm tài liệu tham khảo.Ứng dụng của bạn chạy truy vấn thứ hai để trả về dữ liệu liên quan.Những tài liệu tham khảo này là đơn giản và đủ cho hầu hết các trường hợp sử dụng.save the _id field of one document in another document as a reference. Your application runs a second query to return the related data. These references are simple and sufficient for most use cases.