[英]Mongoose and MongoDB - Can't seem to find documents in my collection
[英]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.