MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

mongodb обновяване на push масив

Някой, който се опитва да вкара елемента в масив, е възможно сега, използвайки собствената библиотека mongodb.

Имайки предвид следния обект на колекция mongodb

{ 
"_id" : 5,
"attachments": [
    { 
        "id": "xxxxxxx",
        "subtype": "book",
        "title": "xxxx",
        "body": "xxxx" ,
        "filetype" : "xxxxx"
    },
    {
        "id": "xxxxxxx",
        "subtype": "book",
        "title": "xxxx",
        "body": "xxxx",
        "filetype": "xxxxx"
    }
]
}


 arr = [{
 'id':'123456',
 'subtype':'book',
 'title'  : 'c programing',
 'body'  :' complete tutorial for c',
 'filetype' : '.pdf'
 },
{
 'id':'123457',
 'subtype':'book',
 'title'  : 'Java programing',
 'body'  :' complete tutorial for Java',
 'filetype' : '.pdf'
 }
];

Следната заявка може да се използва за насочване на елемента на масива към „прикачени файлове“ в края. $push или $addToSet могат да се използват за това.

Това ще бъде вмъкване на един обект или елемент в прикачени файлове

db.collection('books').updateOne(
  { "_id": refid }, // query matching , refId should be "ObjectId" type
  { $push: { "attachments": arr[0] } } //single object will be pushed to attachemnts
 ).done(function (err, updElem) {
  console.log("updElem" + JSON.stringify(updElem));     
});

Това ще бъде вмъкване на всеки обект в масива в прикачени файлове

   db.collection('books').updateOne(
     { "_id": refid }, // query matching , refId should be "ObjectId" type
     { $push: { "attachments":{$each: arr} } } // arr will be array of objects
     ).done(function (err, updElem) {
           console.log("updElem" + JSON.stringify(updElem));     
    });


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. 5 начина да проверите размера на колекция в MongoDB

  2. Условна $sum в MongoDB

  3. Mongodb (code=exited, status=14) се провали, но няма ясни грешки

  4. добавете условие към резултата от най-новите стойности

  5. Mongodb обобщена заявка за конкретни записи вместо колекция