MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

znajdź według $numeru w mongodb

Istnieje tylko jeden typ liczbowy w JavaScript (Number ), który jest reprezentowany w postaci binarnej jako liczba zmiennoprzecinkowa IEEE 754 (podwójna).

W specyfikacji BSON będzie to reprezentowane jako podwójne (typ 1), więc powinieneś być w stanie znaleźć za pomocą:

db.people.find({name: { $type: 1 }})

Jest trochę mongo pomocników powłoki, jeśli chcesz wstawić różne BSON typy danych :

42              // Type 1:  double (64-bit IEEE 754 floating point, 8 bytes)
NumberInt(42)   // Type 16: int32  (32-bit signed integer, 4 bytes)
NumberLong(42)  // Type 18: int64  (64-bit signed integer, 8 bytes)

Na przykład:

db.people.insert({ name: 'default', num: 42 })
db.people.insert({ name: 'NumberLong', num: NumberLong(42) })
db.people.insert({ name: 'NumberInt', num: NumberInt(42) })

Różne reprezentacje liczbowe będą nadal pasować, jeśli wykonasz find() na liczbie, która może być reprezentowana w wielu formatach (tj. 32-bitowa liczba całkowita może być również reprezentowana jako double lub int64).

Na przykład:

db.people.find({num:42})
{
    "_id" : ObjectId("50965aa3038d8c8e85fd3f45"),
    "name" : "default",
    "num" : 42
}
{
    "_id" : ObjectId("50965aa3038d8c8e85fd3f46"),
    "name" : "NumberLong",
    "num" : NumberLong(42)
}
{
    "_id" : ObjectId("50965aa3038d8c8e85fd3f47"),
    "name" : "NumberInt",
    "num" : 42
}

Jeśli jednak znajdziesz według $type , reprezentacja BSON jest inna:

> db.people.find({num: { $type: 1 }})
{
    "_id" : ObjectId("50965aa3038d8c8e85fd3f45"),
    "name" : "default",
    "num" : 42
}

> db.people.find({num: { $type: 16 }})
{
    "_id" : ObjectId("50965aa3038d8c8e85fd3f47"),
    "name" : "NumberInt",
    "num" : 42
}

> db.people.find({num: { $type: 18 }})
{
    "_id" : ObjectId("50965aa3038d8c8e85fd3f46"),
    "name" : "NumberLong",
    "num" : NumberLong(42)
}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Zapytanie i wstawianie za pomocą jednego polecenia

  2. Nie można połączyć się ze zdalnym serwerem mongodb

  3. Jak pobrać wartość z mongoDB według nazwy klucza?

  4. MongoDB $lub zapytanie

  5. Ustawianie czasu wygaśnięcia kolekcji w mongodb przy użyciu mongoose