簡體   English   中英

mongoose / javascript:無法在Mongodb中更新集合

[英]mongoose/javascript: Can't update collection in Mongodb

這是我的數據庫模式

 let couponId = Schema({ RestaurantId: { type: String }, RestaurantName: { type: String }, RestaurantLocation: { type: String }, AssignedTo: Schema.Types.Mixed, CouponValue: { type: [String] } }); 

我想用帶有動態鍵和值的對象數組值更新AssignedTo字段。 我正在執行此查詢

 CouponId.findOne({ "RestaurantId": resId }, (err, restaurant) => { value.push({ [userNumber]: restaurant.CouponValue[0] }); console.log(value); restaurant.update({ "RestaurantId": resId }, { $set: { "AssignedTo": value } }, function(err) { if (err) { console.log(err); } else { console.log("updated"); } }); }); 

該查詢在執行時給出控制台中updated的結果,但在db中未更新。 如果此查詢轉換為MongoShell查詢並執行,它將給出結果,並且集合將更新,我正在運行的mongoShell查詢在其中

db.couponids.update({"RestaurantId" : "1234"},{$set:{"AssignedTo":[{"1234":"2345"}]}});

我要去哪里錯了?

restaurant是第一個集合的輸出,並且其中沒有任何更新功能...因此,您需要保持與findOne相同的集合名稱

CouponId.update({
    "RestaurantId": resId
  }, {
    $set: {
      "AssignedTo": value
    }
  }, function(err) {
    if (err) {
      console.log(err);
    } else {
      console.log("updated");
    }
  });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM