Mongodb经过条件查询后获取的是整个文档?
仅有的幸福
仅有的幸福 2017-05-02 09:24:53
0
2
663

例如有组数据:

name: 'food',
data: {
    fruit: [
        {
            name: 'apple',
            stock: 10
        },
        {
            name: 'pear',
            stock: 66
        }
        ...
    ]
            
}

db.col.find({'data.fruit.stock': 66}, {data.fruit.stock: 1})

查询到的是整个data.fruite;

Q1: 有什么方法只获取过滤器查询的那条数据吗?如果这个文档对象量比较大咋办?
Q2: 这是Mongodb的一种特性?命中过滤器的条件后,返回的是整个文档对象?
Q3: 有这方面的API文档可参阅么?

仅有的幸福
仅有的幸福

全員に返信(2)
刘奇

質問者が尋ねた質問は、実際にはデータモデルとビジネスクエリの間のトレードオフに関連しています。

1. MongoDB は基本的に毎回ドキュメントの単位を返します。ドキュメントに配列 (Array) が含まれている場合は、すべての配列を返す必要があります。

2. 被験者の希望通り、クエリ条件に従い、条件を満たす配列のデータだけを返したい場合は、

を検討できます。 リーリー

/q/10...

ご参考までに。

MongoDB を愛してください!

--------------------------ゴージャスなセパレーター--------------------- -- --------

MongoDB 中国語コミュニティには多くのオフライン アクティビティがあります。以下をクリックしてください:

2017 華山剣ディスカッション|MongoDB 中国語コミュニティ

3月には杭州駅が登場します! ! ! 興味のあるお友達は急いで登録してください! ! !

いいねを押す +0
漂亮男人

リーリー

は実際に data.fruit データのストックを返しますが、条件のストックも返すことができますが、フルーツ配列内のストックのインデックス番号を知る必要があります。

つまり

リーリー

リファレンス (mongodb バージョン 3.4):
https://docs.mongodb.com/manu...
https://docs.mongodb.com/manu...#🎜🎜 #

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート