在javascript中获取Mongodb字段的值

问题描述 投票:0回答:1

我想在遍历集合时获取字段的值,如果该字段等于“ true”,则使用updateOne和$ set创建另一个字段。我正在使用此代码进行循环:

var userCollection = db.getCollection('users');
var bulkOp = userCollection.initializeOrderedBulkOp();
var count = 0;
userCollection.find().forEach(function (doc) {
  bulkOp.find(doc).updateOne({
    '$set': {
      'gender': "male"
    }
  });
  count++;
  if (count % 100 === 0) {
    bulkOp.execute();
    bulkOp = userCollection.initializeOrderedBulkOp();
  }
});
if (count > 0) {
  bulkOp.execute();
}

我的收藏集看起来像这样:

[{
name: "Roy",
age: 30,
is_male: true,
is_female: false

},{名称:“ Lena”,年龄:29岁is_male:错误,is_female:是}]

现在,我想声明一个条件,如果doc.is_male = false,则不设置性别:“ female”。请帮忙,谢谢。

javascript arrays mongodb object field
1个回答
1
投票

您应该能够通过更新来做到这一点。

db.collection.update(query,condition)

在这种情况下:

db.collection.update({"is_male":false},{$set:{"gender":"female"}})

请原谅我有任何错别字,但是请告诉我这是否对您不起作用,或者是否有我在寻找的条件。 (mongo会做魔术的:))

© www.soinside.com 2019 - 2024. All rights reserved.