Tôi đã tìm thấy câu hỏi này được trả lời cho C# và Perl, nhưng không phải trong giao diện gốc. Tôi nghĩ rằng điều này sẽ hoạt động:
var ObjectId = require['mongodb'].ObjectId;
var id = req.params.gonderi_id;
var o_id = new ObjectId[id];
db.test.find[{_id:o_id}]
2Các truy vấn trả về không có kết quả. Tôi đã tìm thấy 4ECBE7F9E8C1C9092C000027 bằng cách thực hiện
var ObjectId = require['mongodb'].ObjectId;
var id = req.params.gonderi_id;
var o_id = new ObjectId[id];
db.test.find[{_id:o_id}]
3 và lấy một ObjectID. Có vài ngàn đối tượng trong bộ sưu tập đó.Tôi đã đọc tất cả các trang mà tôi có thể tìm thấy trên trang web MongoDB.org và không tìm thấy nó. Đây chỉ là một điều kỳ lạ để làm? Nó có vẻ khá bình thường đối với tôi.
Ranieribt
1.25015 huy hiệu bạc32 huy hiệu đồng15 silver badges32 bronze badges
Đã hỏi ngày 22 tháng 11 năm 2011 lúc 20:02Nov 22, 2011 at 20:02
Không lạ chút nào, mọi người làm điều này mọi lúc. Hãy chắc chắn rằng tên thu thập là chính xác [trường hợp vấn đề] và rằng ObjectID là chính xác.
Tài liệu là ở đây
> db.test.insert[{x: 1}]
> db.test.find[] // no criteria
{ "_id" : ObjectId["4ecc05e55dd98a436ddcc47c"], "x" : 1 }
> db.test.find[{"_id" : ObjectId["4ecc05e55dd98a436ddcc47c"]}] // explicit
{ "_id" : ObjectId["4ecc05e55dd98a436ddcc47c"], "x" : 1 }
> db.test.find[ObjectId["4ecc05e55dd98a436ddcc47c"]] // shortcut
{ "_id" : ObjectId["4ecc05e55dd98a436ddcc47c"], "x" : 1 }
Đã trả lời ngày 22 tháng 11 năm 2011 lúc 20:32Nov 22, 2011 at 20:32
Tyler Brocktyler BrockTyler Brock
29.2K15 Huy hiệu vàng77 Huy hiệu bạc78 Huy hiệu đồng15 gold badges77 silver badges78 bronze badges
11
Nếu bạn đang sử dụng Node.js:
var ObjectId = require['mongodb'].ObjectId;
var id = req.params.gonderi_id;
var o_id = new ObjectId[id];
db.test.find[{_id:o_id}]
Chỉnh sửa: Đã sửa thành New ObjectID [ID], không phải New ObjectID [ID]
Phil
6.7298 Huy hiệu vàng44 Huy hiệu bạc84 Huy hiệu đồng8 gold badges44 silver badges84 bronze badges
Đã trả lời ngày 23 tháng 8 năm 2015 lúc 19:25Aug 23, 2015 at 19:25
Mustafa Denizmustafa DenizMustafa Deniz
1.4891 Huy hiệu vàng9 Huy hiệu bạc8 Huy hiệu đồng1 gold badge9 silver badges8 bronze badges
4
Thậm chí dễ dàng hơn, đặc biệt là với việc hoàn thành tab:
db.test.find[ObjectId['4ecc05e55dd98a436ddcc47c']]
Chỉnh sửa: Cũng hoạt động với lệnh
var ObjectId = require['mongodb'].ObjectId;
var id = req.params.gonderi_id;
var o_id = new ObjectId[id];
db.test.find[{_id:o_id}]
4 cho đầu ra đẹp hơn.
Robert
5.26743 Huy hiệu vàng63 Huy hiệu bạc114 Huy hiệu đồng43 gold badges63 silver badges114 bronze badges
Đã trả lời ngày 2 tháng 3 năm 2015 lúc 15:51Mar 2, 2015 at 15:51
MPLANCHARDMPLANCHARDMPlanchard
1.7211 huy hiệu vàng17 Huy hiệu bạc13 Huy hiệu đồng1 gold badge17 silver badges13 bronze badges
5
Bạn đã bỏ lỡ để chèn trích dẫn kép. Truy vấn chính xác là
db.theColl.find[ { "_id": ObjectId["4ecbe7f9e8c1c9092c000027"] } ]
Đã trả lời ngày 17 tháng 8 năm 2015 lúc 6:01Aug 17, 2015 at 6:01
2
Nếu bạn đang làm việc trên vỏ Mongo, vui lòng tham khảo điều này: Trả lời từ Tyler Brock
Tôi đã viết câu trả lời nếu bạn đang sử dụng MongoDB bằng Node.js
Bạn không cần chuyển đổi ID thành
var ObjectId = require['mongodb'].ObjectId;
var id = req.params.gonderi_id;
var o_id = new ObjectId[id];
db.test.find[{_id:o_id}]
5. Chỉ dùng :db.collection.findById['4ecbe7f9e8c1c9092c000027'];
Phương thức thu thập này sẽ tự động chuyển đổi ID thành ObjectID.
Mặt khác :
var ObjectId = require['mongodb'].ObjectId;
var id = req.params.gonderi_id;
var o_id = new ObjectId[id];
db.test.find[{_id:o_id}]
6 không hoạt động như mong đợi. Bạn đã chuyển đổi ID theo cách thủ công thành var ObjectId = require['mongodb'].ObjectId;
var id = req.params.gonderi_id;
var o_id = new ObjectId[id];
db.test.find[{_id:o_id}]
5.Điều đó có thể được thực hiện như thế này:
let id = '58c85d1b7932a14c7a0a320d';
let o_id = new ObjectId[id]; // id as a string is passed
db.collection.findOne[{"_id":o_id}];
Đã trả lời ngày 2 tháng 10 năm 2019 lúc 3:14Oct 2, 2019 at 3:14
SaurabhsaurabhSaurabh
3043 Huy hiệu bạc6 Huy hiệu Đồng3 silver badges6 bronze badges
2
Tôi nghĩ bạn nên viết một cái gì đó như thế này:
db.getCollection['Blog'].find[{"_id":ObjectId["58f6724e97990e9de4f17c23"]}]
Pang
9.264146 Huy hiệu vàng85 Huy hiệu bạc120 Huy hiệu đồng146 gold badges85 silver badges120 bronze badges
Đã trả lời ngày 20 tháng 4 năm 2017 lúc 6:20Apr 20, 2017 at 6:20
mina_anwermina_anwermina_anwer
Phù hiệu bằng đồng 911 Huy hiệu đồng1 silver badge2 bronze badges
1
Khi bạn đã mở Mongo CLI, được kết nối và ủy quyền trên cơ sở dữ liệu phù hợp.
Ví dụ sau đây cho thấy cách tìm tài liệu với _ID = 568C28FFFC4BE30D44D0398E từ một bộ sưu tập có tên là Sản phẩm,:
db.products.find[{"_id": ObjectId["568c28fffc4be30d44d0398e"]}]
Đã trả lời ngày 11 tháng 1 năm 2017 lúc 16:39Jan 11, 2017 at 16:39
Oliver Wolfoliver WolfOliver Wolf
Huy hiệu bạc 19222 silver badges5 bronze badges
Tôi vừa có vấn đề này và đang làm chính xác như đã được ghi lại và nó vẫn không hoạt động.
Nhìn vào thông báo lỗi của bạn và đảm bảo rằng bạn không có bất kỳ ký tự đặc biệt nào được sao chép. Tôi đã nhận được lỗi
________số 8Khi tôi đi đến ký tự 43, đó chỉ là khởi đầu của ID đối tượng của tôi, sau các trích dẫn mở, chính xác như tôi đã dán nó vào. Tôi đặt con trỏ của mình ở đó và nhấn backspace không có gì xảy ra khi nó phải loại bỏ trích dẫn mở. Tôi lại nhấn Backspace và nó đã loại bỏ trích dẫn mở, sau đó tôi đặt báo giá trở lại và thực hiện truy vấn và nó hoạt động, mặc dù trông giống hệt nhau.
Tôi đã phát triển trong webmatrix và sao chép ID đối tượng từ bảng điều khiển. Bất cứ khi nào bạn sao chép từ bảng điều khiển trong webmatrix, bạn có thể chọn một số ký tự vô hình sẽ gây ra lỗi.
Đã trả lời ngày 8 tháng 9 năm 2016 lúc 20:48Sep 8, 2016 at 20:48
0
Trong các chức năng khâu MongoDB, nó có thể được thực hiện bằng cách sử dụng BSON như dưới đây:
Sử dụng Trình trợ giúp
var ObjectId = require['mongodb'].ObjectId;
var id = req.params.gonderi_id;
var o_id = new ObjectId[id];
db.test.find[{_id:o_id}]
5 trong gói tiện ích BSON cho mục đích này như trong ví dụ Follwing:var id = "5bb9e9f84186b222c8901149";
BSON.ObjectId[id];
Đã trả lời ngày 17 tháng 10 năm 2018 lúc 6:54Oct 17, 2018 at 6:54
Kushal Bhalaikkushal BhalaikKushal Bhalaik
3.2705 Huy hiệu vàng22 Huy hiệu bạc41 Huy hiệu đồng5 gold badges22 silver badges41 bronze badges
Để sử dụng phương thức ObjectID, bạn không cần nhập nó. Nó đã nằm trên đối tượng MongoDB.
var ObjectId = require['mongodb'].ObjectId;
var id = req.params.gonderi_id;
var o_id = new ObjectId[id];
db.test.find[{_id:o_id}]
0Đã trả lời ngày 13 tháng 5 năm 2017 lúc 15:49May 13, 2017 at 15:49
2
Đơn giản là làm:
var ObjectId = require['mongodb'].ObjectId;
var id = req.params.gonderi_id;
var o_id = new ObjectId[id];
db.test.find[{_id:o_id}]
1
Hoàn tác ♦♦
25.3K37 Huy hiệu vàng108 Huy hiệu bạc127 Huy hiệu đồng37 gold badges108 silver badges127 bronze badges
Đã trả lời ngày 11 tháng 12 năm 2015 lúc 7:37Dec 11, 2015 at 7:37
2