通知下面的代碼,即示出了具有2個陣列架構中,一個被配置爲從類型:貓鼬在陣列中除去空對象出嵌入文檔的
[
mongoose.Schema.Types.Mixed
]
和一個被構造成可從型:
[
{
value: mongoose.Schema.Types.Mixed
}
]
下面是代碼:
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/test');
var schema = new mongoose.Schema({
withSchema: [{
value:mongoose.Schema.Types.Mixed}
],
withoutSchema: [mongoose.Schema.Types.Mixed],
} , {minimize: false});
var Tweak = mongoose.model('tweak', schema);
我使用相同的數據更新該文檔:
var data = {
"withSchema" : [ { "value": { a:"221", b:{} } } ],
"withoutSchema" : [ { "value": { a:"221", b:{} } } ]
}
Tweak.findByIdAndUpdate("545680170960023a185ea77e", data, function(err, doc){
console.log(doc);
//{
// "withSchema" : [ { "value": { a:"221" } } ],
// "withoutSchema" : [ { "value": { a:"221", b:{} } } ]
//}
});
如何防止此b:{}移除?
編輯:
事實證明,這種情況發生時,纔會有一個embeddedDocument內部數組。
您正在使用的貓鼬版本是什麼? – BatScream 2014-11-11 05:57:51
[email protected] – ekeren 2014-11-11 07:52:34