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

MongoException:長さゼロのキーは許可されていません。二重引用符で囲まれた$を使用しましたか?

    検索語として参照オブジェクト自体ではなく、参照オブジェクトのIDを使用して、これを修正しました。

    $_repo->findOneByCustomer($customer->getId());
    

    編集:それは例外をスローしていませんが、実際には何も返していません。いくつかの場所で提案されているように、新しいMongoId($ id)を使用してみました(DoctrineMongoDBはidで検索 )、しかしそれもうまくいきませんでした。最後に、完全なクエリビルダーで、参照で検索するものを見つけました(注:これは、オブジェクトのIDではなくオブジェクトを使用します)。

    $dm->createQueryBuilder()->find('CantaoCustomerBundle:CustomerTags')
                             ->field('customer')->references($customer)
                             ->getQuery()->execute();
    

    これは(最初に行ったように)もっと簡単に行う必要があるように感じますが、この修正は私にとってはうまくいきます。



    1. MongoDB-集約フレームワーク(総数)

    2. MEAN-スタックはmongooseを使用してMongoDBに配列を保存します

    3. RESTfulURLでObjectIdを使用する必要がある/使用すべきでない理由はありますか?

    4. mongodb-orgがmongodb-10gen-serverと競合しています