c()またはlist()のどちらでも問題ありません。コンポーネントに名前が付けられているかどうか、およびすべてのコンポーネントが同じタイプ(リスト用)であるかどうかによって異なります。最善の方法は、生成されたBSONを調べて、必要なものが得られているかどうかを確認することです。生成されたオブジェクトを最適に制御するには、mongo.bson.bufferとそれを操作する関数を使用します。実際、これがサブクエリが失敗する理由です。 「コメント」は、配列ではなくサブオブジェクトとして作成されています。 mongo.bson.from.list()は便利ですが、同じ制御ができず、複雑な構造から何を生成するかについて間違って推測することがあります。
他のデータセットに対するクエリは、次のように修正できます。
buf <- mongo.bson.buffer.create()
mongo.bson.buffer.start.object(buf, "name.first")
mongo.bson.buffer.append(buf, "$in", c("Alex", "Horst"))
mongo.bson.buffer.finish.object(buf)
criteria <- mongo.bson.from.buffer(buf)
Rは点線の名前を窒息させるので、ここでは必ずバッファを使用する必要があることに注意してください。
これで問題が解決することを願っています。ご不明な点がございましたら、お気軽にお問い合わせください。