Working with GUIDs in the mongo shell is painful. We need a better way to enter them. One suggestion, a factory method on BinData:
Or some other usable alternative. The shell should also use the same notation on output so that it is more readable.
One final problem: all existing C# drivers have been writing GUIDs in a binary representation where the first three fields of the GUID are little endian (because that's what Guid.ToByteArray happens to return), whereas all other drivers are using the more sensible big endian representation. So depending on which driver stored the GUID the string representation would be different. This is a really difficult problem to solve without backward compatibility problems. The shell is affected because it needs to know what byte order to use when converting the string representation of a GUID to an instance of BinData.