SORU
24 Temmuz 2012, Salı


Gelincik _ıd karşılaştırma ve dizeleri

Bazı veri çeker node.js bir uygulama var ve bu gibi: bir nesneye yapışır

var results = new Object();

User.findOne(query, function(err, u) {
    results.userId = u._id;
}

Eğer/o zaman saklı kimliğine göre ben ne zaman, karşılaştırma hiç doğru değildir:

if (results.userId == AnotherMongoDocument._id) {
    console.log('This is never true');
}

Bir konsol.iki kimliği günlüğü, tam olarak uyuyorlar:

User id: 4fc67871349bb7bf6a000002 AnotherMongoDocument id: 4fc67871349bb7bf6a000002

Bu veri türü bir problem olduğunu sanıyorum, ama sonuçları dönüştürmek için nasıl emin değilim.karşılaştırma yukarıdakilerin hiçbiri doğru neden olacak bir veri türü için kullanıcı kimliği ve dış kaynaklı beynim (aka Google) yardım için başarılı olamadı.

CEVAP
24 Temmuz 2012, Salı


Gelincik özel Objectıd türünü kullanan mongodb-yerel sürücüyü kullanır. .equals() yöntemi ile ObjectİDs karşılaştırabilirsiniz. , results.userId.equals(AnotherMongoDocument._id) örnek. Objectıd türü de toString() bir yöntem ise JSON formatında Objectıd bu stringified bir sürümü saklamak istiyorsanız, ya da bir çerez var.

Eğer ObjectID = require("mongodb").ObjectID gerektirir mongodb-yerel kütüphane () kullanırsanız eğer results.userId results.userId instanceof ObjectID geçerli bir tanımlayıcı olup olmadığını kontrol edin.

Vb.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Dion Coulls

    Dion Coulls

    16 AĞUSTOS 2006
  • Fuse

    Fuse

    21 Kasım 2005
  • GoProTutorials

    GoProTutoria

    18 NİSAN 2011