第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

查詢數(shù)組大小大于1的文檔

查詢數(shù)組大小大于1的文檔

撒科打諢 2019-06-19 17:00:50
查詢數(shù)組大小大于1的文檔我有一個MongoDB集合,其文檔格式如下:{   "_id" : ObjectId("4e8ae86d08101908e1000001"),   "name" : ["Name"],   "zipcode" : ["2223"]}{   "_id" : ObjectId("4e8ae86d08101908e1000002"),   "name" : ["Another ", "Name"],   "zipcode" : ["2224"]}我目前可以獲得與特定數(shù)組大小匹配的文檔:db.accommodations.find({ name : { $size : 2 }})將正確地返回帶有兩個元素的文檔。name陣列。但是,我不能$gt命令返回name字段的數(shù)組大小大于2:db.accommodations.find({ name : { $size: { $gt : 1 } }})如何使用name大小大于一個的數(shù)組(最好不必修改當(dāng)前的數(shù)據(jù)結(jié)構(gòu))?
查看完整描述

3 回答

?
郎朗坤

TA貢獻(xiàn)1921條經(jīng)驗(yàn) 獲得超9個贊

在MongoDB2.2+中,有一種更有效的方法可以在查詢對象鍵中使用數(shù)字?jǐn)?shù)組索引。

// Find all docs that have at least a second name array element.db.accommodations.find({'name.1': {$exists: true}})

您可以使用部分篩選表達(dá)式(要求3.2+)的索引來支持此查詢:

db.accommodations.createIndex(
    {'name.1': 1},
    {partialFilterExpression: {'name.1': {$exists: true}}});


查看完整回答
反對 回復(fù) 2019-06-19
?
慕田峪7331174

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超13個贊

我相信這是回答你問題的最快的查詢,因?yàn)樗皇褂媒忉?/trans>$where條款:

{$nor: [
    {name: {$exists: false}},
    {name: {$size: 0}},
    {name: {$size: 1}}]}

它的意思是“所有文檔,但沒有名稱的文檔(不存在或空數(shù)組)或只有一個名稱的文檔除外?!?/trans>

測試:

> db.test.save({})

> db.test.save({name: []})

> db.test.save({name: ['George']})

> db.test.save({name: ['George', 'Raymond']})

> db.test.save({name: ['George', 'Raymond', 'Richard']})

> db.test.save({name: ['George', 'Raymond', 'Richard', 'Martin']})

> db.test.find({$nor: [{name: {$exists: false}}, {name: {$size: 0}}, {name: {$size: 1}}]})

{ "_id" : ObjectId("511907e3fb13145a3d2e225b"), "name" : [ "George", "Raymond" ] }

{ "_id" : ObjectId("511907e3fb13145a3d2e225c"), "name" : [ "George", "Raymond", "Richard" ] }

{ "_id" : ObjectId("511907e3fb13145a3d2e225d"), "name" : [ "George", "Raymond", "Richard", "Martin" ] }

>


查看完整回答
反對 回復(fù) 2019-06-19
  • 3 回答
  • 0 關(guān)注
  • 961 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號