我正在使用 Mongoose ,我的架构如下所示:

var WalletSchema = new Schema({
  accounts: [String]
});

我的查询(Node.js)如下:
Wallet.update {accounts: account}, {$addToSet: {accounts: account}}, {upsert: true}, (err, updWallet) ->
  asyncCb err

但是,我的数据库中没有任何wallets,因此我希望这会提高。它不是。而是返回错误:MongoError: Cannot apply $addToSet modifier to non-array
难道我做错了什么?

最佳答案

您或者必须在首次创建时使用空的帐户数组初始化帐户文档,或者如果第一个$push失败,则使用$addToSet。如果字段不存在,则$push创建一个新字段,而$addToSet则不创建一个新字段。

10-06 15:41