MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Cara melakukan kueri menggunakan dot( . ) melalui Mongoose di Node.js dan Cara menambahkan array kosong

Ada sejumlah masalah di sini yang mungkin Anda alami.

Pertama, tim adalah properti array, tetapi Anda menetapkan objek ke dalamnya. Anda perlu melakukan sesuatu seperti ini:

var user = new users({
    userID: id, //give the id of the next user in Dbase
    userName: userName, 
    userEmail: 'userEmail',
    teams:[],
    socialMedias: [{socialMediaType: socialMediaID}]
});

Kedua, jika socialMediaType diteruskan sebagai parameter fungsi, Anda tidak dapat menggunakannya seperti yang Anda lakukan. Anda perlu melakukan sesuatu seperti ini:

var socialMedias = {};
socialMedias[socialMediaType] = socialMediaID;
var user = new users({
    userID: id, //give the id of the next user in Dbase
    userName: userName, 
    userEmail: 'userEmail',
    teams:[],
    socialMedias: [socialMedias]
});

Ketiga findOne Anda tidak akan berfungsi apa adanya. Dari apa yang saya dapat kumpulkan dari niat Anda di sini, Anda membutuhkan sesuatu seperti ini:

function searchUser(socialMediaID, socialMediaType){
    var user
    var query = {};
    query["socialMedias."+socialMediaType] = socialMediaID;

    users.findOne(query, function(err, userFound){

        if(err) return handleError(err);
        user = userFound; 
    });

    //what does  MongoDb return if it does not find the document?

    return user;
}

Tetapi keempat, bahkan itu tidak akan berhasil karena Anda secara sinkron mengembalikan pengguna dari metode yang melakukan dan operasi asinkron. Ada berbagai cara untuk mengatasinya, tetapi Anda bisa mulai dengan membaca tentang janji, atau meneruskan fungsi panggilan balik ke searchUser.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mengurutkan hasil kueri geospasial mongodb secara efisien

  2. Koneksi basis data meteor

  3. lanjutkan di cursor.forEach()

  4. Simpan gambar di Mongodb, sajikan dengan Nodejs

  5. Beberapa temuan sinkron luwak untuk menggunakan kembali ID objek