我想要建立一個簡單的功能,可以更新(upsert
)由文檔collection name, field key, field value, updateData
Mongodb不能使用參數作爲更新字段過濾器密鑰?
例如:
function updateDB(tableName, id, rowInfo, checkfield, callback) {
db.collection(tableName, function (err, collection) {
if (err) {
console.log(err);
} else {
console.log(checkfield);
collection.update({ checkfield: id }, rowInfo, { upsert: true }, function (err, objects) {
if (err) {
throw err;
callback(false);
} else {
// console.log(objects);
callback(true);
}
});
}
});}
然而,當我使用參數作爲更新查詢字段過濾它總是插入新的數據的不更新文件。例如:
collection.update({ checkfield: id }.....
但是,當我將字段過濾器更改爲realFieldName
它工作正常。例如:
collection.update({ 'realFieldName': id }....
兩者有什麼區別?
它的作品,謝謝! – maxyen
@maxyen歡迎您 –