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

  • SomeOne Pro

    SomeOne Pro

    25 EKİM 2013
  • TeachMeComputer

    TeachMeCompu

    31 EKİM 2009
  • TheJoeycool2010

    TheJoeycool2

    12 Temmuz 2010