node.js - mongo insert一条记录,但某些数据未插入
问题描述
用node写了个服务提供一个接口,供调用方传入参数后,对参数进行封装,在 mongo 里面 insert 一条记录,现发现某几个字段更新不进去。代码类似于以下
const db = mongodb.collection(’collection_name’);let data = { a: ’value1’, b: ’value2’, c: ’value3’};db.insert(data);
比如 data 中的 a、b字段能更新成功,但 c字段却未插入。一开始以为是所用的 mongodb包过旧的原因,现更新到最新版 2.2.26 版本依然无法更新。后来用 findOneAndUpdate命令替代,并返回更新后的文档,返回结果是有 c 值的,但 mongo 里面依然没有c字段值。 求大神解答!!!
问题解答
回答1:换save方法不传_id 值试试。
回答2:按照您的语句,简单试了,没发现您说的情形。
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); });
软件信息:数据库 MongoDB 3.4 + 驱动 mongodb 2.2.26
供参考.
Love MongoDB!Have fun!