18 EKİM 2011, Salı
Nasıl dizi boyutu bir (1) mongodb daha büyük olduğu belgeleri sorgulamak için
Aşağıdaki biçimde belgeler ile MongoDB bir koleksiyonum var:
{
"_id" : ObjectId("4e8ae86d08101908e1000001"),
"name" : ["Name"],
"zipcode" : ["2223"]
}
{
"_id" : ObjectId("4e8ae86d08101908e1000002"),
"name" : ["Another ", "Name"],
"zipcode" : ["2224"]
}
Şu anda dizinin belirli bir boyutu ile eşleşen belgeler:
db.accommodations.find({ name : { $size : 2 }})
Bu doğru name
dizideki 2 elemanları ile belgeleri verir. Ancak, $gt
komut name
alanı 2'den daha büyük bir dizi boyutu olduğu tüm belgeleri iade edemem:
db.accommodations.find({ name : { $size: { $gt : 1 } }})
Nasıl bir boyut birden fazla name
bir dizi ile tüm belgeler (geçerli veri yapısını değiştirmek zorunda kalmadan tercihen) seçebilir miyim?
CEVAP
5 Mart 2013, Salı
Sorgu nesne anahtarları sayısal dizi dizinleri kullanabilirsiniz şimdi MongoDB 2.2 bunu yapmak için daha etkili bir yolu var.
// Find all docs that have at least a second name array element.
db.accommodations.find({'name.1': {$exists: true}})
Bunu Paylaş:
Nasıl div içeriğini daha büyük değil y...
Nasıl aygıtı belirlemek için ekran boy...
Nasıl O n uzunluğu sıralanmamış bir di...
Nasıl ''(bir işaretçi bir di...
Nasıl bir değer boyutu 8 bit daha büyü...