sql >> データベース >  >> NoSQL >> MongoDB

文字列がMongoDBObjectIDであるかどうかを判断できますか?

    マングースのObjectIdバリデーターが有効なobjectIdを検証するように機能することがわかりましたが、無効なIDが有効であると見なされるケースがいくつか見つかりました。 (例:任意の12文字の長さの文字列)

    var ObjectId = require('mongoose').Types.ObjectId;
    ObjectId.isValid('microsoft123'); //true
    ObjectId.isValid('timtomtamted'); //true
    ObjectId.isValid('551137c2f9e1fac808a5f572'); //true
    

    私のために働いているのは、文字列をobjectIdにキャストしてから、元の文字列がobjectIdの文字列値と一致することを確認することです。

    new ObjectId('timtamtomted'); //616273656e6365576f726b73
    new ObjectId('537eed02ed345b2e039652d2') //537eed02ed345b2e039652d2
    

    これが機能するのは、ObjectIdにキャストしても有効なIDは変更されないが、objectIdにキャストするとfalseの有効な文字列が変更されるためです。



    1. *((char *)-1)='x'コードはどういう意味ですか?

    2. Sentinel C#からRedisマスターアドレスを取得する

    3. rails + docker + sidekiq + 127.0.0.1:6379でのRedisへの接続エラー(Errno ::ECONNREFUSED)

    4. RedisEnterpriseClusteringコマンドエラー「CLUSTER」