我在集合中有一個名為“childLimit”的物件。架構:
user: { name: {type: String}, childLimit: {dailyLimit: {type: Number} }
現在,如果我在創建用戶時沒有在這個物件(childLimit)中插入任何資訊,那么它不應該在 mongo 作業中出現,那很好。但是當我對此進行控制臺時,它回傳 {} 空物件,這很好。但是當我 console.log(Object.values(childLimit)) 它控制臺 [ true, undefined, undefined, undefined ] 這很奇怪???Object.keys(childLimit).length 回傳 2 但它應該是 0??
現在如何檢查物件是否為空?或者如果物件存在?
uj5u.com熱心網友回復:
這似乎是關于貓鼬的,對嗎?
只需記錄您計算的鍵,您將看到如下內容:Mongoose-internal properties,但不是您檔案的鍵:
console.log(Object.keys(doc));
// [ '$__', 'isNew', 'errors', '$locals', '$op', '_doc' ]
您真正想要的是檔案的屬性。您可以按如下方式執行此操作:
console.log(Object.keys(doc.toObject()));
// [ 'foo', 'bar', 'baz' ]
或者(這似乎不是公共 API!):
console.log(Object.keys(doc._doc));
// [ 'foo', 'bar', 'baz' ]
請注意,有時,兩者都可以回傳不同的結果。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/354247.html
