I found I had to manually call the __toString method when I was trying to populate an associative array of mongoguid => stringValue:
$filter = [];
$options = [];
$this->propertyMap = [];
try {
$query = new \MongoDB\Driver\Query[$filter, $options];
$cursor = $this->mongo->executeQuery['MyDbName.MyColectionName', $query];
} catch [Exception $e] {
echo "Mongo Query failure pulling the collection" . PHP_EOL;
echo[$e->getMessage[]];
die["aborting"];
}
foreach [$cursor as $property] {
//$this->propertyMap[$property->{_id}->__toString[]] = $property->name;
$this->propertyMap[$property->name] = $property->{_id}->__toString[];
}
You could also do it as $property->{_id} . "" to get the same string result. Otherwise you end up with an array of MongoDB\BSON\ObjectID objects.
Trong cơ sở dữ liệu, chúng tôi có dữ liệu được lưu trữ ở định dạng đối tượng như “ObjectId[“59f2c3eba83a576fe07c735c”]”. Tôi muốn trích xuất “59f2c3eba83a576fe07c735c” bằng truy vấn SQL nhưng truy vấn trên đang trả về giá trị ở định dạng đối tượng như “[B@2bc4de3d”
Query: select `p`.`_id`.`$oid` , `p`.`FirstName` from mongo.Sample.Person p `_id`.`$oid` is a selector for the object Id to show the same in String format
đầu ra
Phần mềm kinh doanh thông minh mã nguồn mở tốt nhất Helical Insight có ở đây
Khung thông minh kinh doanh
Tự do
Tải xuống
Phần mềm kinh doanh thông minh mã nguồn mở tốt nhất Helical Insight có ở đây
Khung thông minh kinh doanh
Tự do
Tải xuống
Trong trường hợp nếu bạn có bất kỳ câu hỏi nào, vui lòng liên hệ với chúng tôi tại support@helicaltech. com
Cảm ơn bạn
Ramu Vudugula
Nhà phát triển BI
Công Ty TNHH Giải Pháp CNTT Xoắn Ốc
0 0 phiếu
Đánh giá bài viết
Đặt mua
Kết nối với
Đăng nhập
Tôi cho phép tạo tài khoản
Khi bạn đăng nhập lần đầu tiên bằng nút Đăng nhập mạng xã hội, chúng tôi sẽ thu thập thông tin hồ sơ công khai tài khoản của bạn được nhà cung cấp Đăng nhập mạng xã hội chia sẻ, dựa trên cài đặt quyền riêng tư của bạn. Chúng tôi cũng lấy địa chỉ email của bạn để tự động tạo tài khoản cho bạn trên trang web của chúng tôi. Khi tài khoản của bạn được tạo, bạn sẽ đăng nhập vào tài khoản này
{ "_Tôi". ObjectId["58352c3cd2ae672341ec89e1"], "cabinname". "Kemptner Hütte", "checkin_from". ISODate["2017-05-31T22. 00. 00Z"], "reserve_to". ISODate["2017-06-02T22. 00. 00Z"], "người dùng". "", "giường". "", "ký túc xá". "", "ngủ". "2", "thành viên câu lạc bộ". "0", "trạng thái". "", "Tổng giá". "80", "payon_cabin". "60", "bao bữa nửa bữa". "", "bed_prefer". "0", "khách". "2", "số_tiền trả trước". "20", "ngày đặt phòng". ISODate["2016-11-23T05. 42. 20Z"], "reservation_cancel". "2", "là_xóa". NumberLong[1] }Để chuyển đổi ObjectId thành chuỗi, hãy sử dụng $toString trong MongoDB. Để hiểu khái niệm trên, chúng ta hãy tạo một bộ sưu tập với tài liệu. Truy vấn để tạo một bộ sưu tập với một tài liệu như sau -
> db.objectidToStringDemo.insertOne[{"UserName":"John"}]; { "acknowledged" : true, "insertedId" : ObjectId["5c92b80036de59bd9de0639d"] } > db.objectidToStringDemo.insertOne[{"UserName":"Chris"}]; { "acknowledged" : true, "insertedId" : ObjectId["5c92b80436de59bd9de0639e"] } > db.objectidToStringDemo.insertOne[{"UserName":"Larry"}]; { "acknowledged" : true, "insertedId" : ObjectId["5c92b80936de59bd9de0639f"] } > db.objectidToStringDemo.insertOne[{"UserName":"Robert"}]; { "acknowledged" : true, "insertedId" : ObjectId["5c92b81836de59bd9de063a0"] }
Hiển thị tất cả các tài liệu từ một bộ sưu tập với sự trợ giúp của phương thức find[]. Truy vấn như sau -
> db.objectidToStringDemo.find[].pretty[];
Sau đây là đầu ra -
{ "_id" : ObjectId["5c92b80036de59bd9de0639d"], "UserName" : "John" } { "_id" : ObjectId["5c92b80436de59bd9de0639e"], "UserName" : "Chris" } { "_id" : ObjectId["5c92b80936de59bd9de0639f"], "UserName" : "Larry" } { "_id" : ObjectId["5c92b81836de59bd9de063a0"], "UserName" : "Robert" }
Đây là truy vấn để chuyển đổi ObjectId thành giá trị chuỗi trong MongoDB tổng hợp. Truy vấn như sau -