Hướng dẫn what is $oid in mongodb? - $oid trong mongodb là gì?

Tôi đang cố gắng để truy vấn MongoDB hoạt động. Bộ sưu tập có định dạng:

{
"_id": {
    "$oid": "54651022bffebc03098b4567"
},
"browser": "ie",
"browser_version": "10.0 Desktop",
"os_version": "8",
"device": null,
"os": "Windows"
}

Các tác phẩm sau:

{
    "_id": {
        "$in": [
            {
                "$oid": "54651022bffebc03098b4567"
            },
            {
                "$oid": "54651022bffebc03098b4568"
            }
        ]
   }
}

Tuy nhiên, tôi gặp lỗi cú pháp cho các vấn đề sau:

{
    "_id": {
        "$in": [
            ObjectId("54651022bffebc03098b4567"),
            ObjectId("54651022bffebc03098b4568")
        ]
    }
}

Có một câu hỏi tương tự cho thấy rằng ObjectID nên hoạt động:

Làm thế nào để tạo truy vấn với các ObjectID bằng cách sử dụng Java?

$ Tất cả tham số trong MongoDB không hoạt động với Danh sách ObjectID

Ngày 22 tháng 6 năm 2011, 12:09:31 PM6/22/11MongoDB Manual

Đó không phải là một thứ vỏ mà là một định dạng JSON mở rộng. Các trình điều khiển Java ra, trả về () return, định dạng JSON mở rộng để bạn có thể đọc nó và biết những gì có ở đó. Điều này chủ yếu là do Jsondoes không có hỗ trợ cho nhiều loại BSON được sử dụng inMongoDB. http://www.mongodb.org/display/docs/mongo+extends+json

Returns a new ObjectId. The 12-byte ObjectId consists of:

  • Ngày 22 tháng 6 năm 2011, 5:59:25 PM6/22/11

  • Giá trị ngẫu nhiên 5 byte được tạo một lần cho mỗi quá trình. Giá trị ngẫu nhiên này là duy nhất cho máy và quy trình.

  • Bộ đếm tăng 3 byte, khởi tạo thành một giá trị ngẫu nhiên.

Mặc dù bản thân định dạng BSON là ít endian, các giá trị dấu thời gian và bộ đếm là lớn, nhưng các byte quan trọng nhất xuất hiện đầu tiên trong chuỗi byte.

Nếu một giá trị số nguyên được sử dụng để tạo ObjectID, số nguyên sẽ thay thế dấu thời gian.

{
    "_id": {
        "$in": [
            {
                "$oid": "54651022bffebc03098b4567"
            },
            {
                "$oid": "54651022bffebc03098b4568"
            }
        ]
   }
}
0 có thể chấp nhận một trong các đầu vào sau: can accept one of the following inputs:

Kiểu đầu vào

Sự mô tả

{
    "_id": {
        "$in": [
            {
                "$oid": "54651022bffebc03098b4567"
            },
            {
                "$oid": "54651022bffebc03098b4568"
            }
        ]
   }
}
1

Không bắt buộc. Một giá trị chuỗi thập lục phân 24 ký tự cho ObjectID mới.

{
    "_id": {
        "$in": [
            {
                "$oid": "54651022bffebc03098b4567"
            },
            {
                "$oid": "54651022bffebc03098b4568"
            }
        ]
   }
}
2

Không bắt buộc. Giá trị số nguyên, tính bằng giây, được thêm vào Epoch Unix để tạo dấu thời gian mới.Unix epoch to create the new timestamp.

{
    "_id": {
        "$in": [
            {
                "$oid": "54651022bffebc03098b4567"
            },
            {
                "$oid": "54651022bffebc03098b4568"
            }
        ]
   }
}
0 có thuộc tính và phương thức sau: has the following attribute and methods:

Attribute/Method

Sự mô tả

{
    "_id": {
        "$in": [
            {
                "$oid": "54651022bffebc03098b4567"
            },
            {
                "$oid": "54651022bffebc03098b4568"
            }
        ]
   }
}
4

Không bắt buộc. Một giá trị chuỗi thập lục phân 24 ký tự cho ObjectID mới.

{
    "_id": {
        "$in": [
            {
                "$oid": "54651022bffebc03098b4567"
            },
            {
                "$oid": "54651022bffebc03098b4568"
            }
        ]
   }
}
5

Không bắt buộc. Giá trị số nguyên, tính bằng giây, được thêm vào Epoch Unix để tạo dấu thời gian mới.

{
    "_id": {
        "$in": [
            {
                "$oid": "54651022bffebc03098b4567"
            },
            {
                "$oid": "54651022bffebc03098b4568"
            }
        ]
   }
}
6

{
    "_id": {
        "$in": [
            {
                "$oid": "54651022bffebc03098b4567"
            },
            {
                "$oid": "54651022bffebc03098b4568"
            }
        ]
   }
}
0 có thuộc tính và phương thức sau:

{
    "_id": {
        "$in": [
            {
                "$oid": "54651022bffebc03098b4567"
            },
            {
                "$oid": "54651022bffebc03098b4568"
            }
        ]
   }
}
8

Trả về biểu diễn chuỗi thập lục phân của đối tượng.

Trả về phần dấu thời gian của đối tượng là một ngày.

{
    "_id": {
        "$in": [
            {
                "$oid": "54651022bffebc03098b4567"
            },
            {
                "$oid": "54651022bffebc03098b4568"
            }
        ]
   }
}
0 with no argument:

Trả về biểu diễn JavaScript dưới dạng một chuỗi theo nghĩa đen "

{
    "_id": {
        "$in": [
            {
                "$oid": "54651022bffebc03098b4567"
            },
            {
                "$oid": "54651022bffebc03098b4568"
            }
        ]
   }
}
7".

ObjectId("507f1f77bcf86cd799439011")

Trả về biểu diễn của đối tượng dưới dạng chuỗi thập lục phân. Chuỗi được trả về là thuộc tính

{
    "_id": {
        "$in": [
            {
                "$oid": "54651022bffebc03098b4567"
            },
            {
                "$oid": "54651022bffebc03098b4568"
            }
        ]
   }
}
4.
{
    "_id": {
        "$in": [
            {
                "$oid": "54651022bffebc03098b4567"
            },
            {
                "$oid": "54651022bffebc03098b4568"
            }
        ]
   }
}
0
with a unique hexadecimal string:

y = ObjectId("507f191e810c19729de860ea")

Để tạo một ObjectID mới, hãy sử dụng

{
    "_id": {
        "$in": [
            {
                "$oid": "54651022bffebc03098b4567"
            },
            {
                "$oid": "54651022bffebc03098b4568"
            }
        ]
   }
}
0 mà không có đối số:

ObjectId("507f191e810c19729de860ea")

Trong ví dụ này, giá trị của

{
    "_id": {
        "$in": [
            ObjectId("54651022bffebc03098b4567"),
            ObjectId("54651022bffebc03098b4568")
        ]
    }
}
1 là:

ObjectId("507f191e810c19729de860ea").str

Để tạo một ObjectID mới bằng cách sử dụng

{
    "_id": {
        "$in": [
            {
                "$oid": "54651022bffebc03098b4567"
            },
            {
                "$oid": "54651022bffebc03098b4568"
            }
        ]
   }
}
0 với chuỗi thập lục phân duy nhất:

Trong ví dụ này, giá trị của

{
    "_id": {
        "$in": [
            ObjectId("54651022bffebc03098b4567"),
            ObjectId("54651022bffebc03098b4568")
        ]
    }
}
3 sẽ là:

newObjectId = ObjectId(32)

Truy cập thuộc tính

{
    "_id": {
        "$in": [
            {
                "$oid": "54651022bffebc03098b4567"
            },
            {
                "$oid": "54651022bffebc03098b4568"
            }
        ]
   }
}
4 của đối tượng
{
    "_id": {
        "$in": [
            {
                "$oid": "54651022bffebc03098b4567"
            },
            {
                "$oid": "54651022bffebc03098b4568"
            }
        ]
   }
}
0, như sau:

ObjectId("00000020f51bb4362eee2a4d")

Hoạt động này sẽ trả về chuỗi thập lục phân sau:Unix epoch. In this example

{
    "_id": {
        "$in": [
            ObjectId("54651022bffebc03098b4567"),
            ObjectId("54651022bffebc03098b4568")
        ]
    }
}
6 seconds, represented in hexadecimal as
{
    "_id": {
        "$in": [
            ObjectId("54651022bffebc03098b4567"),
            ObjectId("54651022bffebc03098b4568")
        ]
    }
}
7, are added. A five byte random element and a three byte counter make up the rest of the ObjectId.

Tạo một ObjectID mới bằng cách sử dụng một số nguyên.

ObjectID giống với:

TUNGGGAD

unread,

Ngày 22 tháng 6 năm 2011, 5:59:25 PM6/22/116/22/11

đến MongoDB-user

Ok, cảm ơn bạn.
field _id : "...", but my documents, inserted by Java Driver version
2.6.2 on MongoDB 1.8.1, windows, they all have the field _id :
{"$oid" : "..."}.

Vì vậy, nếu tôi muốn tra cứu một tài liệu bằng ID, tài liệu truy vấn phải như thế nào trông giống như: {_id: "..."} hoặc {_id: {"$ oid": "..."}}?
about it anywhere. Could you pls tell me what's the difference?

ID đối tượng là gì?

unread,

Nhận dạng đối tượng (ID đối tượng) là một tiêu chuẩn tài liệu được quốc tế công nhận được hình thành để xác định và ghi lại hàng hóa văn hóa.6/22/11

đến

ID đối tượng MongoDB được tạo như thế nào?

Scott Hernandez

unread,

Ngày 22 tháng 6 năm 2011, 12:09:31 PM6/22/116/22/11

đến

Đó không phải là một thứ vỏ mà là một định dạng JSON mở rộng. Các trình điều khiển Java ra, trả về () return, định dạng JSON mở rộng để bạn có thể đọc nó và biết những gì có ở đó. Điều này chủ yếu là do Jsondoes không có hỗ trợ cho nhiều loại BSON được sử dụng inMongoDB. http://www.mongodb.org/display/docs/mongo+extends+json
prints out, toString() returns, the extended json format so you can
read it, and know what is there. This is primarily because json
doesn't have support for many of the bson types which are used in
mongodb. http://www.mongodb.org/display/DOCS/Mongo+Extended+JSON

TUNGGGAD

unread,

Ngày 22 tháng 6 năm 2011, 5:59:25 PM6/22/116/22/11

đến MongoDB-user

Ok, cảm ơn bạn.

Vì vậy, nếu tôi muốn tra cứu một tài liệu bằng ID, tài liệu truy vấn phải như thế nào trông giống như: {_id: "..."} hoặc {_id: {"$ oid": "..."}}?
look like:
{_id : "..."} or {_id : {"$oid" : "..."}} ?

ID đối tượng là gì?

Nhận dạng đối tượng (ID đối tượng) là một tiêu chuẩn tài liệu được quốc tế công nhận được hình thành để xác định và ghi lại hàng hóa văn hóa.an internationally recognized documentation standard conceived to identify and record cultural goods.

ID đối tượng MongoDB được tạo như thế nào?

MongoDB sử dụng ObjectIds làm giá trị mặc định của trường _id của mỗi tài liệu, được tạo trong quá trình tạo bất kỳ tài liệu nào.ID đối tượng được coi là khóa chính trong bất kỳ bộ sưu tập MongoDB nào.Nó là một định danh duy nhất cho mỗi tài liệu hoặc bản ghi.Cú pháp: ObjectId ().during the creation of any document. Object ID is treated as the primary key within any MongoDB collection. It is a unique identifier for each document or record. Syntax: ObjectId().

Objectid trong MongoDB là gì?

Một ObjectID là một trường 12 byte của loại BSON.4 byte đầu tiên đại diện cho dấu thời gian UNIX của tài liệu.3 byte tiếp theo là ID máy mà máy chủ MongoDB đang chạy.2 byte tiếp theo là của ID quy trình.Trường cuối cùng là 3 byte được sử dụng để tăng ObjectID.a 12-byte Field Of BSON type. The first 4 bytes representing the Unix Timestamp of the document. The next 3 bytes are the machine Id on which the MongoDB server is running. The next 2 bytes are of process id. The last Field is 3 bytes used for increment the objectid.

Chúng ta có thể ghi đè _id trong MongoDB không?

Trường _ID là bất biến, đó là, một khi một tài liệu tồn tại trong hệ thống MongoDB của bạn, theo định nghĩa, nó đã được gán một _ID và bạn không thể thay đổi hoặc cập nhật khóa chính của nó.Điều đó nói rằng, _ID có thể bị ghi đè khi bạn chèn các tài liệu mới, nhưng theo mặc định, nó sẽ được điền với một ObjectID._id can be overridden when you insert new documents, but by default it will be populated with an ObjectID.