node.js - mongo insert一條記錄,但某些數(shù)據(jù)未插入
問(wèn)題描述
用node寫了個(gè)服務(wù)提供一個(gè)接口,供調(diào)用方傳入?yún)?shù)后,對(duì)參數(shù)進(jìn)行封裝,在 mongo 里面 insert 一條記錄,現(xiàn)發(fā)現(xiàn)某幾個(gè)字段更新不進(jìn)去。代碼類似于以下
const db = mongodb.collection(’collection_name’);let data = { a: ’value1’, b: ’value2’, c: ’value3’};db.insert(data);
比如 data 中的 a、b字段能更新成功,但 c字段卻未插入。一開始以為是所用的 mongodb包過(guò)舊的原因,現(xiàn)更新到最新版 2.2.26 版本依然無(wú)法更新。后來(lái)用 findOneAndUpdate命令替代,并返回更新后的文檔,返回結(jié)果是有 c 值的,但 mongo 里面依然沒有c字段值。 求大神解答!!!
問(wèn)題解答
回答1:換save方法不傳_id 值試試。
回答2:按照您的語(yǔ)句,簡(jiǎn)單試了,沒發(fā)現(xiàn)您說(shuō)的情形。
var MongoClient = require(’mongodb’).MongoClient, test = require(’assert’);MongoClient.connect(’mongodb://localhost:27017/test’, function(err, db) { var collection = db.collection('collection_name'); var data = { a: ’value1’, b: ’value2’, c: ’value3’ }; collection.insert(data); });
軟件信息:數(shù)據(jù)庫(kù) MongoDB 3.4 + 驅(qū)動(dòng) mongodb 2.2.26
供參考.
Love MongoDB!Have fun!
